编写一个记事本程序 要求: 用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
import java.io.*;
import java.util.Calendar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class NoteBook extends JFrame implements
ActionListener,ItemListener,WindowListener,MouseListener{
Container c = this.getContentPane();
JMenuBar jmb = new JMenuBar();
JColorChooser jcc = new JColorChooser();
JMenu jm1 = new JMenu("文件(F)");
JMenu jm2 = new JMenu("编辑(E)");
JMenu jm3 = new JMenu("格式(O)");
JMenu jm4 = new JMenu("查看(V)");
JMenu jm5 = new JMenu("帮助(H)");
JMenuItem jmi1 = new JMenuItem("新建(N)");
JMenuItem jmi2 = new JMenuItem("打开(O)");
JMenuItem jmi3 = new JMenuItem("保存(S)");
JMenuItem jmi4 = new JMenuItem("退出(X)");
JMenuItem jmi5 = new JMenuItem("撤消(U)");
JMenuItem jmi6 = new JMenuItem("复制(C)");
JMenuItem jmi7 = new JMenuItem("粘贴(P)");
JMenuItem jmi8 = new JMenuItem("剪切(T)");
JMenuItem jmi12 = new JMenuItem("日期和时间");
JMenuItem jmi9 =m new JMenuItem("字体(E)"); JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自动换行(W)"); JMenuItem jmi10 = new JMenuItem("删除(S)");
JMenuItem jmi11 = new JMenuItem("背景颜色(H)");
JTextArea jta = new JTextArea(15,15);
JScrollPane jsp = new JScrollPane(jta);
//PupolMenu pm = new Pupolmenu();
NoteBook(){
this.addWindowListener(this);
c.setLayout(new BorderLayout());
c.add(jmb,BorderLayout.NORTH);
this.setTitle("新建文本文档");
jmb.add(jm1);
jm1.setMnemonic('f');
jm1.addActionListener(this);
jmb.add(jm2);
jm2.setMnemonic('e');
jmb.add(jm3);
jm3.setMnemonic('o');
jmb.add(jm4);
jm4.setMnemonic('v');
jmb.add(jm5);
jm5.setMnemonic('h');
jm1.add(jmi1);
jmi1.addActionListener(this);
jmi1.setAccelerator(KeyStroke.getKeyStroke('N',Event.CTRL_MASK,false)); jm1.addSeparator();
jm1.add(jmi2);
jmi2.setAccelerator(KeyStroke.getKeyStroke('O',Event.CTRL_MASK,false)); jmi2.addActionListener(this);
jm1.addSeparator();
jm1.add(jmi3);
jmi3.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK,false)); jmi3.addActionListener(this);
jm1.addSeparator();
jm1.add(jmi4);
jmi1.setMnemonic('n');
jmi2.setMnemonic('o');
jmi3.setMnemonic('s');
jmi4.setMnemonic('x');
jmi4.addActionListener(this);
jm2.add(jmi5);
jm2.addSeparator();
jm2.add(jmi6);
jm2.addSeparator();
jm2.add(jmi7);
jm2.addSeparator();
jm2.add(jmi8);
jm2.add(jmi12);
jmi12.addActionListener(this);
jm3.add(jcbmi);
jcbmi.addItemListener(this);
jm3.addSeparator();
jm3.add(jmi9);
jm4.add(jmi10);
jmi10.addActionListener(this);
jm5.add(jmi11);
jmi11.addActionListener(this);
c.add(jsp);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
this.setSize(500,500);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e){