📄 notebook5.java
字号:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.Date;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class NoteBook5 extends JFrame {
JTextArea jta;
class newl implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.setText("");
}
}
class openl implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser jf = new JFileChooser();
jf.showOpenDialog(NoteBook5.this);
}
}
// 保存文件的监听
class savel implements ActionListener {
public void actionPerformed(ActionEvent e) {
JFileChooser jf = new JFileChooser();
jf.showSaveDialog(NoteBook5.this);
}
}
// 打印的监听 ?
class printl implements ActionListener {
public void actionPerformed(ActionEvent e) {
// PrintWriter p = new PrintWriter(NotePad.this);
}
}
// 退出记事本的监听
class exitl implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.exit(0);// 退出
}
}
// 拷贝的监听
class copyl implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.copy();
}
}
// 粘贴的监听
class pastel implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.paste();
}
}
// 剪切的监听
class cutl implements ActionListener {
public void actionPerformed(ActionEvent e) {
jta.cut();
}
}
// 查找的监听
// 添加日期的监听
class datel implements ActionListener {
public void actionPerformed(ActionEvent e) {
Date d = new Date();
jta.append(d.toString());
}
}
// 构造函数
public NoteBook5() {
jta = new JTextArea("", 24, 40);
JScrollPane jsp = new JScrollPane(jta);
JMenuBar jmb = new JMenuBar();
JMenu mFile = new JMenu("文件");
JMenu mEdit = new JMenu("编辑");
JMenuItem mNew = new JMenuItem("新建", KeyEvent.VK_N);
mNew.addActionListener(new newl());
mFile.add(mNew);
JMenuItem mOpen = new JMenuItem("打开", KeyEvent.VK_O);
mOpen.addActionListener(new openl());
mFile.add(mOpen);
JMenuItem mSave = new JMenuItem("保存");
mSave.addActionListener(new savel());
mFile.add(mSave);
mFile.addSeparator(); // 添加分割线
JMenuItem mPrint = new JMenuItem("打印");
mPrint.addActionListener(new printl());
mFile.add(mPrint);
mFile.addSeparator(); // 添加分割线
JMenuItem mExit = new JMenuItem("退出");
mExit.addActionListener(new exitl());
mFile.add(mExit);
mFile.setMnemonic(KeyEvent.VK_F);
// 编辑菜单的子菜单的处理
JMenuItem jmi;
jmi = new JMenuItem("复制");
jmi.addActionListener(new copyl());
mEdit.add(jmi);
jmi = new JMenuItem("剪切");
jmi.addActionListener(new cutl());
mEdit.add(jmi);
jmi = new JMenuItem("粘贴");
jmi.addActionListener(new pastel());
mEdit.add(jmi);
mEdit.addSeparator(); // 添加分割线
jmi = new JMenuItem("查找");
mEdit.add(jmi);
jmi = new JMenuItem("查找下一个");
mEdit.add(jmi);
mEdit.addSeparator();
jmi = new JMenuItem("全选");
mEdit.add(jmi);
jmi = new JMenuItem("时间");
jmi.addActionListener(new datel());
mEdit.add(jmi);
jmb.add(mFile);
jmb.add(mEdit);
this.setTitle("记事本");
this.setJMenuBar(jmb);
this.getContentPane().add(jsp);
this.setSize(600, 500);
this.setVisible(true);
}
// 主函数,程序入口点
public static void main(String s[]) {
new NoteBook5();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -