《java简单记事本.doc》由会员分享,可在线阅读,更多相关《java简单记事本.doc(46页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datejava简单记事本java简单记事本Java简易记事本编写课题:设计一个简单的Windows记事本,可以实现以下功能1、文件的新建、打开、保存、另存为和退出;2、对文件的编辑,如复制、粘贴、剪切、替换等;3、执行完操作后,能够顺利关闭记事本。源码:package MyPad;import java.awt.Event;import java.awt.FlowLayou
2、t;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import javax.swing.JButton;i
3、mport 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.JTextArea;import javax.swing.JTextField;import javax.s
4、wing.KeyStroke;public class MyPad static String path = ;public static void main(String args) / 设置主窗体JFrame jf = new JFrame(MyPad);jf.setBounds(220, 90, 800, 600);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JFrame frame = new JFrame(替换);frame.setBounds(220, 90, 300, 250);JLabel l1 = new J
5、Label( 原字符串);frame.add(l1);final JTextField tf1 = new JTextField();tf1.setColumns(15);frame.add(tf1);JLabel l2 = new JLabel( 替换为);final JTextField tf2 = new JTextField();tf2.setColumns(15);JButton button = new JButton(确定);frame.setLayout(new FlowLayout();frame.add(l2);frame.add(tf2);frame.add(button
6、);/ 设置菜单栏JMenuBar jmbar = new JMenuBar();jf.setJMenuBar(jmbar);/ =设置文件菜单=JMenu filemenu = new JMenu(文件(F);JMenuItem newitem = new JMenuItem(新建(N);JMenuItem openitem = new JMenuItem(打开(O);/ openitem.setMnemonic(O);JMenuItem saveitem = new JMenuItem(保存(S);JMenuItem lsaveitem = new JMenuItem(另存为(A);JMe
7、nuItem exititem = new JMenuItem(退出(X);jmbar.add(filemenu);filemenu.add(newitem);filemenu.add(openitem);filemenu.add(saveitem);filemenu.add(lsaveitem);filemenu.addSeparator();filemenu.add(exititem);/ =设置编辑菜单=JMenu editmenu = new JMenu(编辑(E);JMenuItem cutitem = new JMenuItem(剪切(T);JMenuItem copyitem =
8、 new JMenuItem(复制(C);JMenuItem pasteitem = new JMenuItem(粘贴(P);JMenuItem replaceitem = new JMenuItem(替换(R);jmbar.add(editmenu);editmenu.add(cutitem);editmenu.add(copyitem);editmenu.add(pasteitem);editmenu.add(replaceitem);/ =设置帮助菜单=JMenu helpmenu = new JMenu(帮助(H);JMenuItem helpitem = new JMenuItem(
9、MyPad说明(A);jmbar.add(helpmenu);helpmenu.add(helpitem);final JTextArea text = new JTextArea();JScrollPane jsp = new JScrollPane(text);jf.add(jsp);jf.setVisible(true);/ =设置快捷键=newitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK);openitem.setAccelerator(KeyStroke.getKeyStroke(Ke
10、yEvent.VK_O,Event.CTRL_MASK);saveitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK);cutitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK);copyitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);pasteitem.setAccelerator(KeyStroke.get
11、KeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);replaceitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,Event.CTRL_MASK);/ =实现新建功能=newitem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) if (text.getText().equals()text.setText();else int value = JOptionPane.showC
12、onfirmDialog(null, 是否要保存文本?,提示, JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value = JOptionPane.YES_OPTION)try lsave(text_); catch (IOException e1) e1.printStackTrace();text.setText(););/ =实现打开功能=openitem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEve
13、nt e) if (text.getText().equals()nw(text);else int value = JOptionPane.showConfirmDialog(null, 是否要保存文本?,提示, JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value = JOptionPane.YES_OPTION)try lsave(text_); catch (IOException e1) e1.printStackTrace();else if (value = JOptionPane.NO_OPTION
14、)text.setText();elsereturn;nw(text););/ =实现保存功能=saveitem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) String text_ = text.getText();try save(text_); catch (IOException e1) e1.printStackTrace(););/ =实现另存为功能=lsaveitem.addMouseListener(new MouseAdapter() Overridep
15、ublic void mouseReleased(MouseEvent e) String text_ = text.getText();try lsave(text_); catch (IOException e1) e1.printStackTrace(););/ =实现退出功能=exititem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) if (text.getText().equals()System.exit(0);else int value = JOpti
16、onPane.showConfirmDialog(null, 是否要保存文本?,提示, JOptionPane.YES_NO_OPTION);String text_ = text.getText();if (value = JOptionPane.YES_OPTION)try lsave(text_); catch (IOException e1) e1.printStackTrace();System.exit(0););/ =实现剪切功能=cutitem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleas
17、ed(MouseEvent e) text.cut(););/ =实现复制功能=copyitem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) text.copy(););/ =实现粘贴功能=pasteitem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) text.paste(););/ =实现替换功能=replaceitem.addMouseList
18、ener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) frame.setVisible(true););button.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) String reptext = text.getText().replaceAll(tf1.getText(),tf2.getText();text.setText();text.append(reptext););/ =
19、实现MyPad说明功能=helpitem.addMouseListener(new MouseAdapter() Overridepublic void mouseReleased(MouseEvent e) JOptionPane.showOptionDialog(null, 程序名称:n MyPad n+ 程序设计:n Java课程设计 n + 简介:n 一个简单的文字编辑器n+ 制作: 软件工程 小Yn + 联系方式:*,关于MyPad, JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE, null, null, nul
20、l););/ Mainpublic static void openfile(File file, JTextArea text) throws IOException BufferedReader bufr = new BufferedReader(new FileReader(file);String line = null;while (line = bufr.readLine() != null) text.append(line);text.append(rn);bufr.close();public static void nw(JTextArea text) JFileChoos
21、er chooser = new JFileChooser();if (chooser.showOpenDialog(chooser) = JFileChooser.APPROVE_OPTION) String path = chooser.getSelectedFile().getAbsolutePath();File file = new File(path);try openfile(file, text); catch (IOException e1) e1.printStackTrace();public static void lsave(String text) throws I
22、OException JFileChooser chooser = new JFileChooser();File file = null;if (chooser.showSaveDialog(chooser) = JFileChooser.APPROVE_OPTION) path = chooser.getSelectedFile().getAbsolutePath();file = new File(path);savefile(file, text);public static void save(String text) throws IOException JFileChooser
23、chooser = new JFileChooser();File file = null;if (path.equals() if (chooser.showSaveDialog(chooser) = JFileChooser.APPROVE_OPTION) path = chooser.getSelectedFile().getAbsolutePath(); elsereturn;file = new File(path);savefile(file, text);public static void savefile(File file, String text) throws IOException byte b = text.getBytes();if (file != null) BufferedOutputStream bufw = new BufferedOutputStream(new FileOutputStream(file);bufw.write(b, 0, b.length);bufw.close();-