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

📄 texteditor.java

📁 运用java开发工具
💻 JAVA
字号:
package javazip.editor;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import java.io.*;

public class TextEditor extends JFrame {
	File file = null;

	Color color = Color.red;

	public TextEditor() {
		this.setTitle("JavaZip文件查看器");
		this.setSize(500, 480);
		Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
		Dimension frameSize = this.getSize();
		this.setLocation( (screenSize.width - frameSize.width) / 2,
		                                  (screenSize.height - frameSize.height) / 2);
		initTextPane();
		initAboutDialog();
		initMenu();
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e)
			{
				dispose();
			}
		});
	}
	public TextEditor(File openFile){
		this();
		this.file=openFile;
	}

	private void initTextPane() {
		getContentPane().add(new JScrollPane(text));
	}

	JTextPane text = new JTextPane(); // 这是用来做文本框的

	JFileChooser filechooser = new JFileChooser(); // 文件选择框

	JColorChooser colorchooser = new JColorChooser();//

	JDialog about = new JDialog(this); // 关于对话框

	JMenuBar menubar = new JMenuBar();// 菜单

	JMenu[] menus = new JMenu[] { new JMenu("文件"), new JMenu("编辑"),
			new JMenu("帮助") };

	JMenuItem menuitems[][] = new JMenuItem[][] {
			{ new JMenuItem("新建"), new JMenuItem("打开"), new JMenuItem("保存"),
					new JMenuItem("退出") },

			{

			new JMenuItem("复制"), new JMenuItem("剪切"), new JMenuItem("粘贴"),
					new JMenuItem("颜色") }, { new JMenuItem("关于") } };

	private void initMenu() {

		for (int i = 0; i < menus.length; i++) {
			menubar.add(menus[i]);
			for (int j = 0; j < menuitems[i].length; j++) {
				menus[i].add(menuitems[i][j]);
				menuitems[i][j].addActionListener(action);
			}
		}
		this.setJMenuBar(menubar);
	}

	ActionListener action = new ActionListener() { // when here
		// have not
		// wrong:
		public void actionPerformed(ActionEvent e) {
			JMenuItem mi = (JMenuItem) e.getSource();
			String id = mi.getText();
			if (id.equals("新建")) {
				text.setText("");
				file = null;
			} else if (id.equals("打开")) {
				if (file != null)
					filechooser.setSelectedFile(file);
				int returnVal = filechooser
						.showOpenDialog(TextEditor.this);
				if (returnVal == JFileChooser.APPROVE_OPTION) {

					file = filechooser.getSelectedFile();
					openFile();
				}

			} else if (id.equals("保存")) {
				if (file != null)
					filechooser.setSelectedFile(file);
				int returnVal = filechooser
						.showSaveDialog(TextEditor.this);
				if (returnVal == JFileChooser.APPROVE_OPTION) {
					file = filechooser.getSelectedFile();
					saveFile();
				}

			} else if (id.equals("退出")) {
				TextEditor f = new TextEditor();
				int s = JOptionPane.showConfirmDialog(f, "你真的要结束吗", "结束程序",
						JOptionPane.YES_NO_CANCEL_OPTION);
				if (s == JOptionPane.YES_OPTION)
					System.exit(0);
			} else if (id.equals("剪切")) {
				text.cut();
			} else if (id.equals("复制")) {
				text.copy();
			} else if (id.equals("粘贴")) {
				text.paste();
			} else if (id.equals("color")) {
				color = JColorChooser.showDialog(TextEditor.this, "",
						color);
				text.setForeground(color);

			} else if (id.equals("关于")) {
				about.setSize(200, 150);
				about.show();
			}

		}

	};

	public void saveFile() {
		try {
			FileWriter fw = new FileWriter(file);
			fw.write(text.getText());
			fw.close();
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	public void openFile() {
		try {
			FileReader fr = new FileReader(file);
			int len = (int) file.length();
			char[] buffer = new char[len];
			fr.read(buffer, 0, len);
			fr.close();
			text.setText(new String(buffer));
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

	private void initAboutDialog() {
		about.getContentPane().add(new JLabel("JavaZip:记事本Q1.0"));
		about.setModal(true);
		about.setSize(200, 100);
	}
}

⌨️ 快捷键说明

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