《java简单记事本.pdf》由会员分享,可在线阅读,更多相关《java简单记事本.pdf(9页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Java 简易记事本编写课题:设计一个简单的Windows记事本,可以实现以下功能1、文件的新建、打开、保存、另存为和退出;2、对文件的编辑,如复制、粘贴、剪切、替换等;3、执行完操作后,能够顺利关闭记事本。源码:package MyPad;import java.awt.Event;import java.awt.FlowLayout;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.io.BufferedOutputSt
2、ream;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOException;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenu
3、Bar;import javax.swing.JMenuItem;import javax.swing.JOptionPane;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.JTextField;import javax.swing.KeyStroke;publicclass MyPad static String path =;publicstaticvoid main(String args)/设置主窗体JFrame jf=new JFrame(MyPad);jf.setBoun
4、ds(220,90,800,600);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JFrame frame=new JFrame(替换 );frame.setBounds(220,90,300,250);JLabel l1=new JLabel(原字符串 );frame.add(l1);final JTextField tf1=new JTextField();tf1.setColumns(15);frame.add(tf1);JLabel l2=new JLabel(替换为 );final JTextField tf2=ne
5、w JTextField();tf2.setColumns(15);JButton button=new JButton(确定 );frame.setLayout(new FlowLayout();frame.add(l2);frame.add(tf2);frame.add(button);/设置菜单栏JMenuBar jmbar=new JMenuBar();jf.setJMenuBar(jmbar);/=设置文件菜单=JMenu filemenu=new JMenu(文件(F);JMenuItem newitem=new JMenuItem(新建(N);JMenuItem openitem
6、=new JMenuItem(打开(O);/openitem.setMnemonic(O);JMenuItem saveitem=new JMenuItem(保存(S);JMenuItem lsaveitem=new JMenuItem(另存为(A);JMenuItem exititem=new JMenuItem(退出(X);jmbar.add(filemenu);filemenu.add(newitem);filemenu.add(openitem);filemenu.add(saveitem);filemenu.add(lsaveitem);filemenu.addSeparator()
7、;filemenu.add(exititem);/=设置编辑菜单=JMenu editmenu=new JMenu(编辑(E);JMenuItem cutitem=new JMenuItem(剪切(T);JMenuItem copyitem=new JMenuItem(复制(C);JMenuItem pasteitem=new JMenuItem(粘贴(P);JMenuItem replaceitem=new JMenuItem(替换(R);jmbar.add(editmenu);editmenu.add(cutitem);editmenu.add(copyitem);editmenu.add
8、(pasteitem);editmenu.add(replaceitem);/=设置帮助菜单=JMenu helpmenu=new JMenu(帮助(H);JMenuItem helpitem=new JMenuItem(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.setAccelerat
9、or(KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK);openitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.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.s
10、etAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);pasteitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);replaceitem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,Event.CTRL_MASK);/=实现新建功能=newitem.addMouseListener(new MouseAdapter()Overridepublicvoid m
11、ouseReleased(MouseEvent e)if(text.getText().equals()text.setText();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();text.setText(););/=实现打开功
12、能=openitem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent 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(
13、IOException e1)e1.printStackTrace();elseif(value=JOptionPane.NO_OPTION)text.setText();elsereturn;nw(text););/=实现保存功能=saveitem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)String text_=text.getText();try save(text_);catch(IOException e1)e1.printStackTrace(););/=实现另
14、存为功能=lsaveitem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)String text_=text.getText();try lsave(text_);catch(IOException e1)e1.printStackTrace(););/=实现退出功能=exititem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)if(text.getText(
15、).equals()System.exit(0);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();System.exit(0););/=实现剪切功能=cutitem.addMouseListener(new MouseAdapte
16、r()Overridepublicvoid mouseReleased(MouseEvent e)text.cut(););/=实现复制功能=copyitem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)text.copy(););/=实现粘贴功能=pasteitem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)text.paste(););/=实现替换功能=r
17、eplaceitem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)frame.setVisible(true););button.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)String reptext=text.getText().replaceAll(tf1.getText(),tf2.getText();text.setText();text.append
18、(reptext););/=实现 MyPad 说明功能=helpitem.addMouseListener(new MouseAdapter()Overridepublicvoid mouseReleased(MouseEvent e)JOptionPane.showOptionDialog(null,程序名称:n MyPad n+程序设计:n Java课程设计 n+简介:n 一个简单的文字编辑器n+制作:软件工程小 Yn+联系方式:*,关于 MyPad,JOptionPane.DEFAULT_OPTION,JOptionPane.INFORMATION_MESSAGE,null,null,n
19、ull););/Mainpublicstaticvoid openfile(File file,JTextArea text)throwsIOException BufferedReader bufr=new BufferedReader(new FileReader(file);String line=null;while(line=bufr.readLine()!=null)text.append(line);text.append(rn);bufr.close();publicstaticvoid nw(JTextArea text)JFileChooser chooser=new JF
20、ileChooser();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();publicstaticvoid lsave(String text)throws IOException JFileChooser chooser=ne
21、w JFileChooser();File file=null;if(chooser.showSaveDialog(chooser)=JFileChooser.APPROVE_OPTION)path =chooser.getSelectedFile().getAbsolutePath();file=new File(path);savefile(file,text);publicstaticvoid save(String text)throws IOException JFileChooser chooser=new JFileChooser();File file=null;if(path
22、.equals()if(chooser.showSaveDialog(chooser)=JFileChooser.APPROVE_OPTION)path =chooser.getSelectedFile().getAbsolutePath();elsereturn;file=new File(path);savefile(file,text);publicstaticvoidsavefile(File file,String text)throwsIOException byte b=text.getBytes();if(file!=null)BufferedOutputStream bufw=new BufferedOutputStream(new FileOutputStream(file);bufw.write(b,0,b.length);bufw.close();