📄 minieditor.java
字号:
package net.aetherial.gis.test;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.datatransfer.*;
import java.io.*;
import javax.swing.undo.*;
public class MiniEditor{
// extends JFrame implements ActionListener {
// private JMenuBar menuBar;
// private JMenu fileMenu;
// private JMenu editMenu;
// private JMenu formatMenu;
// private JMenu helpMenu;
// private JMenuItem[] menuItem = new JMenuItem[18];
// private String[] menuItemNames = {
// "新建(N) Ctrl+N", "打开(O)... Ctrl+O",
// "保存(S) Ctrl+S", "另存为(A)...", "退出(X)", "撤消(U) Ctrl+Z",
// "重做(D) Ctrl+Y", "剪切(T) Ctrl+X", "复制(C) Ctrl+C",
// "粘贴(P) Ctrl+V", "删除(L) Del", "查找(F)... Ctrl+F",
// "查找下一个(N) F3", "替换(R)... Ctrl+H", "全选(A) Ctrl+A",
// "自动换行(W)", "字体(F)...", "关于记事本(A)"};
// private char[] mnemonics = {
// 'N', 'O', 'S', 'A', 'X', 'U', 'D', 'T', 'C', 'P', 'L', 'F',
// 'N', 'R', 'A', 'W', 'F', 'A'};
// private JTextArea text;
// private Font font = new Font("宋体", Font.PLAIN, 12);
// private boolean hasSaved = true;
// private UndoManager undoManager = new UndoManager();
// private String openedFileName = "", openedFilePath = "";
// private StringBuffer findString = new StringBuffer();
// private StringBuffer replaceString = new StringBuffer();
// private Rectangle rect;
//
// public static void main(String[] args) {
// MiniEditor note = new MiniEditor();
// note.setSize(800, 600);
// note.setLocation(100, 100);
// note.setVisible(true);
// }
//
// public MiniEditor() {
// super("无标题-记事本");
// this.addWindowListener(
// new WindowAdapter() {
// public void windowClosing(WindowEvent e) {
// if (isSaved()) {
// System.exit(0);
// }
// setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
// }
// }
// );
// JMenuBar menuBar = new JMenuBar();
// setJMenuBar(menuBar);
// int i = 0;
// text = new JTextArea();
//
// fileMenu = new JMenu("文件(F)");
// fileMenu.setFont(font);
// fileMenu.setMnemonic('F');
// for (; i < 5; i++) {
// menuItem[i] = new JMenuItem(menuItemNames[i]);
// menuItem[i].setMnemonic(mnemonics[i]);
// menuItem[i].setFont(font);
// menuItem[i].addActionListener(this);
// fileMenu.add(menuItem[i]);
// if (i == 3) {
// fileMenu.addSeparator();
// }
// }
//
// menuBar.add(fileMenu);
// editMenu = new JMenu("编辑(E)");
// editMenu.setFont(font);
// editMenu.setMnemonic('E');
// editMenu.addMenuListener(
// new MenuListener() {
// public void menuCanceled(MenuEvent e) {
// }
//
// public void menuDeselected(MenuEvent e) {
// }
//
// public void menuSelected(MenuEvent e) {
// String selectedText = text.getSelectedText();
// boolean canCut = (selectedText != null && selectedText.length() > 0);
// Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
// Transferable t = cb.getContents(this);
// menuItem[5].setEnabled(undoManager.canUndo());
// menuItem[6].setEnabled(undoManager.canRedo());
// menuItem[7].setEnabled(canCut);
// menuItem[8].setEnabled(canCut);
// menuItem[9].setEnabled(t.isDataFlavorSupported(DataFlavor.stringFlavor));
// menuItem[10].setEnabled(canCut);
// boolean isEmpty = text.getText().equals("");
// for (int i = 11; i < 14; i++) {
// menuItem[i].setEnabled(!isEmpty);
// }
// }
// }
// );
// for (; i < 15; i++) {
// menuItem[i] = new JMenuItem(menuItemNames[i]);
// menuItem[i].setMnemonic(mnemonics[i]);
// menuItem[i].setFont(font);
// menuItem[i].addActionListener(this);
// editMenu.add(menuItem[i]);
// if (i == 6 || i == 10 || i == 13) {
// editMenu.addSeparator();
// }
// }
// menuBar.add(editMenu);
//
// formatMenu = new JMenu("格式(O)");
// formatMenu.setFont(font);
// formatMenu.setMnemonic('O');
// for (; i < 17; i++) {
// if (i == 15) {
// menuItem[i] = new JCheckBoxMenuItem(menuItemNames[i]);
// menuItem[i].setSelected(true);
// text.setLineWrap(true);
// }
// else {
// menuItem[i] = new JMenuItem(menuItemNames[i]);
// }
// menuItem[i].setMnemonic(mnemonics[i]);
// menuItem[i].setFont(font);
// menuItem[i].addActionListener(this);
// formatMenu.add(menuItem[i]);
// }
// menuBar.add(formatMenu);
//
// helpMenu = new JMenu("帮助(H)");
// helpMenu.setFont(font);
// helpMenu.setMnemonic('H');
// menuItem[i] = new JMenuItem(menuItemNames[i]);
// menuItem[i].setMnemonic(mnemonics[i]);
// menuItem[i].setFont(font);
// menuItem[i].addActionListener(this);
// helpMenu.add(menuItem[i]);
// menuBar.add(helpMenu);
//
// text.setFont(new Font("宋体", Font.PLAIN, 18));
// text.addKeyListener(
// new KeyAdapter() {
// public void keyPressed(KeyEvent e) {
// int i = -1;
// String keyText = e.getKeyText(e.getKeyCode());
// String modifierKey = e.getKeyModifiersText(e.getModifiers());
// if (modifierKey.equals("")) {
// if (keyText.equals("F3")) {
// i = 12;
// }
// else {
// return;
// }
// }
// else if (modifierKey.equals("Ctrl")) {
// int ch = e.getKeyCode();
// switch (ch) {
// case 78:
// i = 0;
// break;
// case 79:
// i = 1;
// break;
// case 83:
// i = 2;
// break;
// case 90:
// i = 5;
// break;
// case 89:
// i = 6;
// break;
// case 70:
// i = 11;
// break;
// case 72:
// i = 13;
// break;
// case 65:
// i = 14;
// break;
// default:
// return;
// }
// }
// actions(menuItem[i], menuItemNames[i]);
// }
// }
// );
// text.addMouseListener(
// new MouseAdapter() {
// public void mouseReleased(MouseEvent event) {
// if (event.getModifiers() == MouseEvent.BUTTON3_MASK) {
// JTextArea text = (JTextArea) event.getSource();
// String selectedText = text.getSelectedText();
// boolean canCut = (selectedText != null && selectedText.length() > 0);
// Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
// Transferable t = cb.getContents(this);
// JPopupMenu popupMenu = new JPopupMenu();
// JMenuItem popupMenuItem[] = new JMenuItem[15];
// for (int i = 5; i < 15; i++) {
// if (i != 11 && i != 12 && i != 13) {
// popupMenuItem[i] = new JMenuItem(menuItemNames[i]);
// popupMenuItem[i].setMnemonic(mnemonics[i]);
// popupMenuItem[i].setFont(font);
// if (i == 5) {
// popupMenuItem[i].setEnabled(undoManager.canUndo());
// }
// if (i == 6) {
// popupMenuItem[i].setEnabled(undoManager.canRedo());
// }
// if (i == 7 || i == 8 || i == 10) {
// popupMenuItem[i].setEnabled(canCut);
// }
// if (i == 9) {
// popupMenuItem[i].setEnabled(
// t.isDataFlavorSupported(DataFlavor.stringFlavor));
// }
// popupMenuItem[i].addActionListener(MiniEditor.this);
// popupMenu.add(popupMenuItem[i]);
// if (i == 6 || i == 10) {
// popupMenu.addSeparator();
// }
// }
// }
// popupMenu.show(event.getComponent(), event.getX(), event.getY());
// }
// }
// }
// );
// text.getDocument().addUndoableEditListener(
// new UndoableEditListener() {
// public void undoableEditHappened(UndoableEditEvent e) {
// undoManager.addEdit(e.getEdit());
// }
// }
// );
// text.getDocument().addDocumentListener(
// new DocumentListener() {
// public void changedUpdate(DocumentEvent e) {
// }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -