📄 ch7_e7_32.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class ch7_e7_32
{
public static void main(String args[])
{
MySimpleTextEditor editor = new MySimpleTextEditor();
editor.setSize(300,200);
editor.setVisible(true);
editor.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
}
class MySimpleTextEditor extends Frame
implements ActionListener
{
private MenuBar myBar = new MenuBar();
private Menu fileMenu, editMenu, cutsMenu;
private MenuItem cutItem, copyItem, pasteItem, selectAllItem;
private MenuItem recentcutItem;
private MenuItem quitItem, openItem, saveItem;
private TextArea mainWorkWindow = new TextArea(10,15);
private String placeHolder = " ";
private Vector recentCuts = new Vector();
public MySimpleTextEditor()
{
super("我的文本编辑器");
setLayout(new BorderLayout());
add("Center", mainWorkWindow);
setMenuBar(myBar);
initFileMenu();
initEditMenu();
}
private void initEditMenu()
{
editMenu = new Menu("编辑");
myBar.add(editMenu);
cutItem = new MenuItem("剪切");
cutItem.addActionListener(this);
editMenu.add(cutItem);
copyItem = new MenuItem("复制");
copyItem.addActionListener(this);
editMenu.add(copyItem);
pasteItem = new MenuItem("粘贴");
pasteItem.addActionListener(this);
editMenu.add(pasteItem);
editMenu.addSeparator();
selectAllItem = new MenuItem("全选");
selectAllItem.addActionListener(this);
editMenu.add(selectAllItem);
editMenu.addSeparator();
cutsMenu = new Menu("剪贴簿");
editMenu.add(cutsMenu);
}
private void initFileMenu()
{
fileMenu = new Menu("文件");
myBar.add(fileMenu);
openItem = new MenuItem("打开");
openItem.addActionListener(this);
openItem.setEnabled(false);
fileMenu.add(openItem);
saveItem = new MenuItem("保存");
saveItem.addActionListener(this);
saveItem.setEnabled(false);
fileMenu.add(saveItem);
fileMenu.addSeparator();
quitItem = new MenuItem("退出");
quitItem.addActionListener(this);
fileMenu.add(quitItem);
}
public void actionPerformed(ActionEvent e)
{
if(!(e.getSource() instanceof MenuItem))
return;
MenuItem m = (MenuItem)e.getSource();
if(m == quitItem)
{
dispose();
System.exit(0);
}
else if (m == cutItem)
{
placeHolder = mainWorkWindow.getSelectedText();
mainWorkWindow.replaceRange("",
mainWorkWindow.getSelectionStart(),
mainWorkWindow.getSelectionEnd());
addRecentCut(placeHolder);
}
else if (m == copyItem)
{
placeHolder = mainWorkWindow.getSelectedText();
}
else if (m == pasteItem)
{
mainWorkWindow.insert(placeHolder,mainWorkWindow.getCaretPosition());
}
else if (m == selectAllItem)
{
mainWorkWindow.selectAll();
}
/* else
{
MenuItem item = (JMenuItem)e.getSource();
scratchPad = item.getActionCommand();
} */
}
private void addRecentCut(String cut)
{
recentCuts.insertElementAt(cut,0);
cutsMenu.removeAll();
for(int i=0; i<recentCuts.size(); i++)
{
MenuItem item = new MenuItem(
(String)recentCuts.elementAt(i));
cutsMenu.add(item);
//item.addActionListener(this);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -