?? ctbeditframe.java
字號:
//package swjtu.ctb;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.event.*;
public class CTBEditFrame extends JFrame {
JPanel panelMain = new JPanel();
Document document = null;
JTextArea textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
EditController controller;
//------ 定義菜單變量 ------//
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu("文件(F)");
JMenu menuEdit = new JMenu("編輯(E)");
JMenu menuFormat = new JMenu("格式(O)");
JMenu menuHelp = new JMenu("幫助(H)");
JMenuItem itemNew = new JMenuItem("新建(N)",'N');
JMenuItem itemOpen = new JMenuItem("打開(O)",'O');
JMenuItem itemSave = new JMenuItem("保存(S)",'S');
JMenuItem itemSaveAs = new JMenuItem("另存為(A)",'A');
JMenuItem itemExit = new JMenuItem("退出(X)",'X');
JMenuItem itemUndo = new JMenuItem("撤消(U)",'U');
JMenuItem itemRedo = new JMenuItem("重做(B)",'B');
JMenuItem itemCut = new JMenuItem("剪切(T)",'T');
JMenuItem itemCopy = new JMenuItem("復制(C)",'C');
JMenuItem itemPaste = new JMenuItem("粘貼(P)",'P');
JMenuItem itemFont = new JMenuItem("字體");
JMenuItem itemBackground = new JMenuItem("背景");
JMenuItem itemLine = new JMenuItem("自動換行(W)",'W');
JMenuItem itemFind = new JMenuItem("查找(F)",'F');
JMenuItem itemReplace = new JMenuItem("替換(R)",'R');
JMenuItem itemSelectAll = new JMenuItem("全選(A)",'A');
JMenuItem itemAbout = new JMenuItem("關于");
//---------------------------------------//
public CTBEditFrame() {
super("無標題");
this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
this.setJMenuBar(menuBar);
panelMain = (JPanel)this.getContentPane();
panelMain.add(scrollPane);
document = (Document)textArea.getDocument();
// 默認為不換行
textArea.setLineWrap(false);
textArea.setWrapStyleWord(true);
//-- 設置菜單 --//
itemUndo.setEnabled(false);
itemRedo.setEnabled(false);
menuBar.add(menuFile);
menuBar.add(menuEdit);
menuBar.add(menuFormat);
menuBar.add(menuHelp);
menuFile.add(itemNew);
menuFile.add(itemOpen);
menuFile.add(itemSave);
menuFile.add(itemSaveAs);
menuFile.addSeparator();
menuFile.add(itemExit);
menuEdit.add(itemUndo);
menuEdit.add(itemRedo);
menuEdit.addSeparator();
menuEdit.add(itemCut);
menuEdit.add(itemCopy);
menuEdit.add(itemPaste);
menuEdit.addSeparator();
menuEdit.add(itemFind);
menuEdit.add(itemReplace);
menuEdit.addSeparator();
menuEdit.add(itemSelectAll);
menuFormat.add(itemLine);
menuFormat.addSeparator();
menuFormat.add(itemFont);
menuFormat.add(itemBackground);
menuHelp.add(itemAbout);
//----------------------------//
//--增加菜單的快捷鍵和圖標--//
menuFile.setMnemonic('F');
menuEdit.setMnemonic('E');
menuFormat.setMnemonic('O');
menuHelp.setMnemonic('H');
itemNew.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
itemOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
itemSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
itemUndo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z,InputEvent.CTRL_MASK));
itemRedo.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y,InputEvent.CTRL_MASK));
itemCut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK));
itemCopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEvent.CTRL_MASK));
itemPaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEvent.CTRL_MASK));
itemFind.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,InputEvent.CTRL_MASK));
itemReplace.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,InputEvent.CTRL_MASK));
itemAbout.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK));
itemCut.setIcon( new ImageIcon("img/cut.gif"));
itemCopy.setIcon( new ImageIcon("img/copy.gif"));
itemPaste.setIcon( new ImageIcon("img/paste.gif"));
itemSave.setIcon( new ImageIcon("img/save.gif"));
itemUndo.setIcon( new ImageIcon("img/undo.gif"));
itemRedo.setIcon( new ImageIcon("img/redo.gif"));
//-- 增加菜單的偵聽者 --//
controller = new EditController(this);
itemNew.addActionListener(controller);
itemOpen.addActionListener(controller);
itemSave.addActionListener(controller);
itemSaveAs.addActionListener(controller);
itemExit.addActionListener(controller);
itemUndo.addActionListener(controller);
itemRedo.addActionListener(controller);
itemCut.addActionListener(controller);
itemCopy.addActionListener(controller);
itemPaste.addActionListener(controller);
itemFont.addActionListener(controller);
itemBackground.addActionListener(controller);
itemFind.addActionListener(controller);
itemReplace.addActionListener(controller);
itemLine.addActionListener(controller);
itemAbout.addActionListener(controller);
itemSelectAll.addActionListener(controller);
//--------------------------//
document.addDocumentListener(controller);
document.addUndoableEditListener(controller);
this.addWindowListener(controller);
this.pack();
} // end create method
} // end class
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -