⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 notebook5.java

📁 一个java语言编译的记事本 的源代码 完全模拟windows下的Notepad程序
💻 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 + -