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

📄 notepad.java

📁 记事本
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			v.clear();
		}

		public void actionPerformed(WindowEvent e) {
			if (file.getName().length() == 0) {
				JFileChooser fileSave = new JFileChooser();
				fileSave.setCurrentDirectory(new File("d:/"));
				int result = fileSave.showSaveDialog(fileSave);
				if (result == JFileChooser.APPROVE_OPTION) {
					File fileName = fileSave.getSelectedFile();
					try {
						FileWriter in = new FileWriter(fileName);
						String fstr = content.getText();
						in.write(fstr);
						in.close();
					} catch (Exception ee) {
					}
					file = fileSave.getSelectedFile();
					MenuFrame.this.setTitle(file.getName());
				}
			} else {
				try {
					FileWriter in = new FileWriter(file);
					String fstr = content.getText();
					in.write(fstr);
					in.close();
				} catch (Exception ee) {

				}
			}
			content_first = content.getText();
			v.clear();
		}
	}

	/*
	 * ==============另存为记事本动作=========
	 */
	class NewSaveHandle implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			JFileChooser fileSave = new JFileChooser();
			fileSave.setCurrentDirectory(new File("d:/"));
			int result = fileSave.showSaveDialog(MenuFrame.this);
			if (result == 0) {
				File fileName = fileSave.getSelectedFile();
				if (fileName.exists()) {
					int i = JOptionPane.showConfirmDialog(fileSave,
							"你想覆盖原文件吗?", "文件已存在!",
							JOptionPane.OK_CANCEL_OPTION,
							JOptionPane.QUESTION_MESSAGE);
					if (i != 0) {
						actionPerformed(e);
					}
				}
				try {
					FileWriter out = new FileWriter(fileName);
					out.write(content.getText());
					out.close();
					file = fileSave.getSelectedFile();
					content_first = content.getText();
					v.clear();
					MenuFrame.this.setTitle(file.getName());
				} catch (Exception ee) {
				}
			}
		}
	}

	/*
	 * ============ 打开记事本动作===========
	 */
	class OpenHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			if (content.getText().length() == 0
					|| content.getText() == content_first) {
				JFileChooser fileOpen = new JFileChooser();
				fileOpen.setCurrentDirectory(new File("d:/"));
				fileOpen.setFileFilter(new FileFilter() {
					public boolean accept(File f) {
						return f.isDirectory() || f.getName().endsWith(".txt");
					}

					public String getDescription() {
						return "文本文档(*.txt)";
					}
				});
				int result = fileOpen.showOpenDialog(fileOpen);
				if (result == JFileChooser.APPROVE_OPTION) {
					File fileName = fileOpen.getSelectedFile();
					try {
						content.setText("");
						FileReader read = new FileReader(fileName);
						BufferedReader br = new BufferedReader(read);
						String fstr;
						while ((fstr = br.readLine()) != null) {
							content.append(fstr + "\n");
						}
						content_first = content.getText();
						v.clear();
						file = fileOpen.getSelectedFile();
						MenuFrame.this.setTitle(file.getName());
						br.close();
						read.close();
					} catch (Exception ee) {
					}
				}
			} else {
				int i = JOptionPane.showConfirmDialog(MenuFrame.this, "文件"
						+ file.getPath() + "内容已经改变是否需要保存再打开?", "记事本",
						JOptionPane.YES_NO_CANCEL_OPTION,
						JOptionPane.QUESTION_MESSAGE);
				if (i == 1) {
					content.setText("");
					actionPerformed(e);
				}
				if (i == 0) {
					(new SaveHandle()).actionPerformed(e);
					content.setText("");
					actionPerformed(e);
				}
			}
		}
	}

	// ===============页面设置事件 ==================
	class PrinterHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {

			new PrinterDialog(MenuFrame.this, content).setupPage();
		}
	}

	// ===============打印功能 ==================
	class FilePrtHandle implements ActionListener {
		public void actionPerformed(ActionEvent arg0) {
			new PrinterDialog(MenuFrame.this, content).priteFile();
		}
	}

	// 退出事件,先判断是否有文件改变,然后再判断用户的选择,用i来判断
	class QuitHandle implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			String s = content.getText();
			if (s.equals(content_first)) {
				System.exit(0);
			} else {
				int i = JOptionPane.showConfirmDialog(MenuFrame.this, "文件"
						+ file.getPath() + "内容已经改变是否需要保存再退出?", "记事本",
						JOptionPane.YES_NO_CANCEL_OPTION,
						JOptionPane.QUESTION_MESSAGE);
				if (i == 1) {
					System.exit(0);
				}
				if (i == 0) {
					(new SaveHandle()).actionPerformed(e);
				}
			}
		}
	}

	// ==============编辑菜单中的事件监听 ==========
	// ================撤销事件 ==================
	class BackHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			if (!v.isEmpty()) {
				int i = v.size();
				if (i > 1) {
					v.removeElementAt(i - 1);
				}
				content.setText(v.lastElement());
			}
		}
	}

	// ================剪切事件 ==================
	class CutHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			content.cut();
		}
	}

	// ================复制事件 ==================
	class CopyHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			content.copy();
		}
	}

	// ================粘贴事件 ==================
	class TieHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			content.paste();
		}
	}

	// ================删除事件 ==================

	class DelHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			content.replaceSelection("");
		}
	}

	// ================查询事件 ==================
	class SearchHandle implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			new SearchDialog(MenuFrame.this, content);
		}
	}

	// ================查找下一个事件 ==================
	class SnextHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			new SearchDialog(MenuFrame.this, content);
		}
	}

	// ================替换事件 ==================
	class ChangeHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			new ReplaceDialog(MenuFrame.this, content);
		}
	}

	// ================ 转到事件 ==================
	class GotoHanle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			String s = JOptionPane
					.showInputDialog(MenuFrame.this, "请输入你要转到的行数");
			if (s == null||s.length()==0) {
				JOptionPane.showMessageDialog(MenuFrame.this, "输入不合法", "错误信息",
						JOptionPane.ERROR_MESSAGE);
			} else {
				try
				{
					int i = Integer.parseInt(s);
					int j = 1;
					String area = content.getText();
					char[] cs = area.toCharArray();
					for (int i1 = 0; i1 < cs.length; i1++) {
						if (10 == (cs[i1] + 0)) {
							j++;
						}
						if (i == j) {
							if (i == 1) {
								content.setCaretPosition(i1);
							} else {
								content.setCaretPosition(i1 + 1);
							}
							break;
						}
					}
				}catch(NumberFormatException e1)
				{
					JOptionPane.showMessageDialog(MenuFrame.this, "输入不合法", "错误信息",
							JOptionPane.ERROR_MESSAGE);
				}
				
			}
		}
	}

	// ================全选事件 ==================
	class SallHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			content.selectAll();
		}
	}

	// ================日期事件 ==================
	class DateHandle implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			Date today = new Date();
			// 格林威治时间的历法
			GregorianCalendar gc = new GregorianCalendar();
			// 将万年历翻到所对应的信息
			gc.setTime(today);
			String s = "";
			s = gc.get(Calendar.YEAR) + "年" + (gc.get(Calendar.MONTH) + 1)
					+ "月" + gc.get(Calendar.DATE) + "日"
					+ gc.get(Calendar.HOUR_OF_DAY) + "时"
					+ gc.get(Calendar.MINUTE) + "分" + gc.get(Calendar.SECOND)
					+ "秒";
			if (content.getSelectedText() == null) {
				content.replaceRange(s, content.getCaretPosition(), content
						.getCaretPosition());
			} else {
				content.replaceSelection(s);
			}
		}
	}

	// ===============自动换行事件 ==================
	class FontsHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			if (content.getLineWrap() == false) {
				content.setLineWrap(true);
				content.setText(content.getText());
			} else {
				content.setLineWrap(false);
				content.setText(content.getText());
			}
			label.setVisible(false);
			component[20].setSelected(false);
			content.updateUI();
		}
	}

	// ===============字体事件 ==================
	class FontHandle implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			new FontDialog(MenuFrame.this, content);
		}
	}

	// ================状态事件 =================
	class ViewHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			if (component[20].isSelected()) {
				label.setVisible(true);
			} else {
				label.setVisible(false);
			}
		}
	}

	// ================帮助事件 ==================
	class HelpHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
			new HelpDialog(MenuFrame.this);
		}
	}

	// ================记事本事件 ==================
	class HalpInfHandle implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			JOptionPane.showMessageDialog(MenuFrame.this,
					"记事本版本  1.0.0 \r\n 作者: 李永路");
		}
	}

	// ===============右键窗口事件 ==================
	class BoxRHandle implements ActionListener {

		public void actionPerformed(ActionEvent e) {
		}
	}

	// ===============列出事件 ==================
	class BoxSHandle implements ActionListener {
		public void actionPerformed(ActionEvent e) {
		}
	}
}

⌨️ 快捷键说明

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