📄 notepad.java
字号:
import java.awt.Event;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
public class Notepad extends JFrame {
/**
*
*/
public Notepad() {
super("NotePad");
final JTextArea text = new JTextArea();
final JPanel panel = new JPanel();
panel.setLayout(new GridLayout(1, 1));
panel.add(new JScrollPane(text));
getContentPane().add(panel);
/**
* create fileMenu
*/
JMenu fileMenu = new JMenu("File");
fileMenu.setMnemonic('F');
// create the newitem
JMenuItem newitem = new JMenuItem("New");
newitem.setMnemonic('N');
newitem.setAccelerator(KeyStroke.getKeyStroke('N',
java.awt.Event.CTRL_MASK, true));
fileMenu.add(newitem);
newitem.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event) {
text.setText(" ");
}
}
);
// create openitem
JMenuItem openitem = new JMenuItem("Open...");
openitem.setMnemonic('O');
openitem.setAccelerator(KeyStroke.getKeyStroke('O',
java.awt.Event.CTRL_MASK, true));
fileMenu.add(openitem);// no listener
// create saveitem
JMenuItem saveitem = new JMenuItem("Save");
saveitem.setMnemonic('S');
saveitem.setAccelerator(KeyStroke.getKeyStroke('S',
java.awt.Event.CTRL_MASK, true));
fileMenu.add(saveitem);// no listener
// create separator
fileMenu.addSeparator();
// create exititem
JMenuItem exititem = new JMenuItem("Exit");
exititem.setMnemonic('x');
fileMenu.add(exititem);
exititem.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
}
);
/**
* create editMenu
*/
JMenu editMenu = new JMenu("Edit");
editMenu.setMnemonic('E');
// create cut
JMenuItem cutItem = new JMenuItem("Cut");
cutItem.setMnemonic('C');
cutItem.setAccelerator(KeyStroke.getKeyStroke('X',
java.awt.Event.CTRL_MASK, true));
editMenu.add(cutItem);
cutItem.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
text.cut();
}
});
// create paste
JMenuItem pasteItem = new JMenuItem("Paste");
pasteItem.setMnemonic('P');
pasteItem.setAccelerator(KeyStroke.getKeyStroke('V',
java.awt.Event.CTRL_MASK, true));
editMenu.add(pasteItem);
pasteItem.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
text.paste();
}
});
// create copy
JMenuItem copyItem = new JMenuItem("Copy");
copyItem.setMnemonic('o');
copyItem.setAccelerator(KeyStroke.getKeyStroke('C',
java.awt.Event.CTRL_MASK, true));
editMenu.add(copyItem);
pasteItem.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
text.copy();
}
});
/**
* create help
*/
JMenu helpMenu = new JMenu("Help");
helpMenu.setMnemonic('H');
// create aboutItem
JMenuItem aboutItem = new JMenuItem("About");
aboutItem.setMnemonic('A');
aboutItem.setAccelerator(KeyStroke.getKeyStroke('A', Event.CTRL_MASK,
true));
helpMenu.add(aboutItem);
aboutItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(Notepad.this, "Made by ZhengYan",
"About", JOptionPane.PLAIN_MESSAGE);
}
});
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
bar.add(fileMenu);
bar.add(editMenu);
bar.add(helpMenu);
setSize(600, 400);
setVisible(true);
}
public static void main(String[] args) {
Notepad application = new Notepad();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -