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

📄 notebook1.java

📁 一个java语言编译的记事本 的源代码 完全模拟windows下的Notepad程序
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;

class NoteBook1 extends Frame implements ActionListener {
	String filename = "未命名";

	String ctext;

	private Dialog d1, d2;

	private MenuBar op = new MenuBar();

	Menu[] menus = { new Menu("文件(F)"), new Menu("编辑(E)"), new Menu("格式(O)"),
			new Menu("查看(V)"), new Menu("帮助(H)") };

	MenuItem[] items = { new MenuItem("新建"), new MenuItem("打开"),
			new MenuItem("保存"), new MenuItem("另存为"), new MenuItem("退出"),
			new MenuItem("全选"), new MenuItem("剪切"), new MenuItem("复制"),
			new MenuItem("粘贴"), new MenuItem("删除"), new MenuItem("自动换行"),
			new MenuItem("字体"), new MenuItem("状态栏"), new MenuItem("帮助主题"),
			new MenuItem("关于记事本") };

	private TextArea text = new TextArea();

	private FileDialog f1 = new FileDialog(this, "打开", FileDialog.LOAD);

	private FileDialog f2 = new FileDialog(this, "保存", FileDialog.SAVE);

	private class WindowCloser extends WindowAdapter {
		public void windowClosing(WindowEvent e) {
			System.exit(0);
		}
	}

	NoteBook1() {
		super("记事本");
		for (int i = 0; i < 5; i++)
			menus[0].add(items[i]);
		menus[1].add(items[5]);
		menus[1].addSeparator();
		for (int i = 6; i < 10; i++)
			menus[1].add(items[i]);
		menus[2].add(items[10]);
		menus[2].add(items[11]);
		menus[3].add(items[12]);
		menus[4].add(items[13]);
		menus[4].addSeparator();
		menus[4].add(items[14]);
		for (int i = 0; i < menus.length; i++) {
			op.add(menus[i]);
		}
		items[0].addActionListener(this);
		items[1].addActionListener(this);
		items[2].addActionListener(this);
		items[3].addActionListener(this);
		items[4].addActionListener(this);
		items[5].addActionListener(this);
		items[6].addActionListener(this);
		items[7].addActionListener(this);
		items[8].addActionListener(this);
		items[9].addActionListener(this);
		items[10].addActionListener(this);
		items[11].addActionListener(this);
		items[12].addActionListener(this);
		items[13].addActionListener(this);
		items[14].addActionListener(this);
		setLayout(new BorderLayout());
		setMenuBar(op);
		add(text);
		addWindowListener(new WindowCloser());
		setFont(new Font("隶书", Font.PLAIN, 12));
		pack();
		show();
		d1 = new Dialog(this, "帮助", true);

		TextArea taver = new TextArea("请你到的www.youlinye.com网址查找功能");
		d1.add(taver);
		d1.setSize(300, 200);
		d1.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				d1.dispose();
			}
		});
		d2 = new Dialog(this, "关于记事本", true);

		TextArea taver2 = new TextArea("这是的记事本的程序!欢迎交流!");
		d2.add(taver2);
		d2.setSize(300, 200);
		d2.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				d2.dispose();
			}
		});
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == items[0])
			text.setText("");
		else if (e.getSource() == items[1]) {
			f1.show();
			filename = f1.getFile();
			if (filename != null) {
				filename = f1.getDirectory() + f1.getFile();
				readfile(filename);
			}
		} else if (e.getSource() == items[2])
			if (filename != null)
				writefile(filename);
			else if (e.getSource() == items[3]) {
				f2.show();
				filename = f2.getDirectory() + f2.getFile();
				if (filename != null)
					writefile(filename);
			} else if (e.getSource() == items[4])
				System.exit(0);
			else if (e.getSource() == items[5])
				text.selectAll();
			else if (e.getSource() == items[6]) {
				System.out.println("cut");
				ctext = text.getSelectedText();
				text.replaceRange("", text.getSelectionStart(), text
						.getSelectionEnd());
			} else if (e.getSource() == items[7])
				ctext = text.getSelectedText();
			else if (e.getSource() == items[8]) {
				if (ctext == null)
					return;
				text.replaceRange(ctext, text.getSelectionStart(), text
						.getSelectionEnd());
			} else if (e.getSource() == items[9])
				text.replaceRange("", text.getSelectionStart(), text
						.getSelectionEnd());
			else if (e.getSource() == items[10])
				text.append("\n");
			else if (e.getSource() == items[11])
				setFont(new Font("宋体", Font.ITALIC, 20));
			else if (e.getSource() == items[13])
				d1.show();
			else if (e.getSource() == items[14])
				d2.show();
	}

	public void readfile(String filename) {
		try {
			File file = new File(filename);
			FileReader readin = new FileReader(file);
			int size = (int) file.length();
			int charsRead = 0;
			char[] content = new char[size];
			while (readin.ready())
				charsRead += readin.read(content, charsRead, size - charsRead);
			readin.close();
			text.setText(new String(content, 0, charsRead));
		} catch (IOException e) {
			System.out.println("Error opening file");
		}
	}

	public void writefile(String filename) {
		try {
			File file = new File(filename);
			FileWriter writeout = new FileWriter(file);
			writeout.write(text.getText());
			writeout.close();
		} catch (IOException e) {
			System.out.println("Error writing file");
		}
	}

	public static void main(String[] args) {
		NoteBook1 note = new NoteBook1();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -