您的位置:首页 > 其它

记事本的制作

2016-04-26 10:57 197 查看
<p>
1  做一个记事本,首先我们要想好它的布局。</p><p>2.选择一些可能用到的图片。</p><p>3.下面看一个完整的记事本代码。</p><div>
</div>
package big;import java.awt.BorderLayout;import java.awt.Color;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JColorChooser;import javax.swing.JDialog;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTextPane;import javax.swing.JToolBar;//import com.sun.prism.paint.Color;class TextEditorFrame extends JFrame {File file = null;Color color = Color.RED;// 这是用来做文本框的JTextPane text = new JTextPane();// 文件选择框JFileChooser filechooser = new JFileChooser();JColorChooser coloechooser = new JColorChooser();// 关于对话框JDialog about = new JDialog(this);// 菜单JMenuBar menubar = new JMenuBar();JMenu[] menus = new JMenu[] { new JMenu("文件"), new JMenu("编辑"),new JMenu("帮助") };JMenuItem menuitems[][] = new JMenuItem[][]{{ new JMenuItem("新建"), new JMenuItem("打开"), new JMenuItem("保存"),new JMenuItem("退出") },{ new JMenuItem("复制"), new JMenuItem("剪切"), new JMenuItem("粘贴"),new JMenuItem("颜色") }, { new JMenuItem("关于") }};TextEditorFrame(String title) {initTextPane();initAboutDialog();initToolBar();initMenu();this.setDefaultCloseOperation(this.DO_NOTHING_ON_CLOSE);this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {int n = JOptionPane.showConfirmDialog(null, "确认关闭吗?", "确认关闭框",JOptionPane.YES_NO_OPTION);if (n == JOptionPane.YES_OPTION) {System.out.println(n);System.exit(0);}else if (n == JOptionPane.NO_OPTION) {return;}}});}void initTextPane() {getContentPane().add(new JScrollPane(text));}void initMenu() {for (int i = 0; i < menus.length; i++) {menubar.add(menus[i]);for (int j = 0; j < menuitems[i].length; j++) {menus[i].add(menuitems[i][j]);menuitems[i][j].addActionListener(action);}}this.setJMenuBar(menubar);}ActionListener action = new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubJMenuItem mi = (JMenuItem) arg0.getSource();String id = mi.getText();if(id.equals("新建")){text.setText("");file=null;}else if (id.equals("打开")) {if (file != null)filechooser.setSelectedFile(file);int returnVal = filechooser.showOpenDialog(TextEditorFrame.this);if (returnVal == JFileChooser.APPROVE_OPTION) {file = filechooser.getSelectedFile();openFile();}} else if (id.equals("保存")) {if (file != null)filechooser.setSelectedFile(file);int returnVal = filechooser.showSaveDialog(TextEditorFrame.this);if (returnVal == JFileChooser.APPROVE_OPTION) {file = filechooser.getSelectedFile();saveFile();}} else if (id.equals("退出")) {int n = JOptionPane.showConfirmDialog(null, "确认关闭吗?", "确认关闭框",JOptionPane.YES_NO_OPTION);if (n == JOptionPane.YES_OPTION) {System.exit(0);} else if (n == JOptionPane.NO_OPTION) {return;}} else if (id.equals("剪切")) {text.cut();} else if (id.equals("复制")) {text.copy();} else if (id.equals("粘贴")) {text.paste();} else if (id.equals("color")) {color = JColorChooser.showDialog(TextEditorFrame.this, "",color);text.setForeground(color);} else if (id.equals("关于")) {about.setSize(200, 150);}}};void saveFile() {try {FileWriter fw = new FileWriter(file);fw.write(text.getText());fw.close();} catch (Exception e) {e.printStackTrace();}}void openFile() {try {FileReader fr = new FileReader(file);int len = (int) file.length();char[] buffer = new char[len];fr.read(buffer, 0, len);fr.close();text.setText(new String(buffer));} catch (Exception e) {e.printStackTrace();}}void initAboutDialog() {about.getContentPane().add(new JLabel("传到Java,你进步了吗?"));about.setModal(true);about.setSize(200, 100);}// 我来加上工具条JToolBar toolbar = new JToolBar();JButton[] buttons = new JButton[] {new JButton("", new ImageIcon("qin.jpg")),new JButton("", new ImageIcon("shu.jpg")),new JButton("", new ImageIcon("xin.jpg")) };void initToolBar() {for (int i = 0; i < buttons.length; i++)toolbar.add(buttons[i]);buttons[0].setToolTipText("复制");buttons[0].addActionListener(new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubtext.copy();}});buttons[1].setToolTipText("剪切");buttons[1].addActionListener(new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubtext.cut();}});buttons[2].setToolTipText("粘贴");buttons[2].addActionListener(new ActionListener() {@Overridepublic void actionPerformed(java.awt.event.ActionEvent arg0) {// TODO Auto-generated method stubtext.paste();}});this.getContentPane().add(toolbar, BorderLayout.NORTH);}}public class F {public static void main(String[] args) {TextEditorFrame f = new TextEditorFrame("NoteBook");f.setTitle("hzy记事本");f.setSize(800, 600);f.setVisible(true);}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: