📄 simpletexteditor.java
字号:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class SimpleTextEditor extends JFrame
implements ActionListener
{
private JMenuBar mBar = new JMenuBar();
private JMenu fileMenu, editMenu, cutsMenu;
private JMenuItem cutItem, copyItem, pasteItem, selectItem;
private JMenuItem recentcutItem;
private JMenuItem quitItem, openItem, saveItem;
private JTextArea display = new JTextArea();
private String scratchPad = " ";
private Vector recentCuts = new Vector();
public SimpleTextEditor()
{
super("Simple Text Editor");
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add("Center", display);
this.getContentPane().add(new JScrollPane(display));
display.setLineWrap(true);
this.setJMenuBar(mBar);
initFileMenu();
initEditMenu();
}
private void initEditMenu()
{
editMenu = new JMenu("Edit");
mBar.add(editMenu);
cutItem = new JMenuItem("Cut");
cutItem.addActionListener(this);
editMenu.add(cutItem);
copyItem = new JMenuItem("Copy");
copyItem.addActionListener(this);
editMenu.add(copyItem);
pasteItem = new JMenuItem("Paste");
pasteItem.addActionListener(this);
editMenu.add(pasteItem);
editMenu.addSeparator();
selectItem = new JMenuItem("Select All");
selectItem.addActionListener(this);
editMenu.add(selectItem);
editMenu.addSeparator();
cutsMenu = new JMenu("Recent Cuts");
editMenu.add(cutsMenu);
}
private void initFileMenu()
{
fileMenu = new JMenu("File");
mBar.add(fileMenu);
openItem = new JMenuItem("Open");
openItem.addActionListener(this);
openItem.setEnabled(false);
fileMenu.add(openItem);
saveItem = new JMenuItem("Save");
saveItem.addActionListener(this);
saveItem.setEnabled(false);
fileMenu.add(saveItem);
fileMenu.addSeparator();
quitItem = new JMenuItem("Quit");
quitItem.addActionListener(this);
fileMenu.add(quitItem);
}
public void actionPerformed(ActionEvent e)
{
JMenuItem m = (JMenuItem)e.getSource();
if(m == quitItem)
{
dispose();
System.exit(0);
}
else if (m == cutItem)
{
scratchPad = display.getSelectedText();
display.replaceRange("",
display.getSelectionStart(),
display.getSelectionEnd());
addRecentCut(scratchPad);
}
else if (m == copyItem)
{
scratchPad = display.getSelectedText();
}
else if (m == pasteItem)
{
display.insert(scratchPad,display.getCaretPosition());
}
else if (m == selectItem)
{
display.selectAll();
}
else
{
JMenuItem 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++)
{
JMenuItem item = new JMenuItem(
(String)recentCuts.elementAt(i));
cutsMenu.add(item);
item.addActionListener(this);
}
}
public static void main(String args[])
{
SimpleTextEditor f = new SimpleTextEditor();
f.setSize(300,200);
f.setVisible(true);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -