import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.File;
public class Test extends JFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
JMenu fileMenu, editorMenu, formatMenu; // 設置文件菜單,編輯菜單,格式菜單
JMenuItem newMenu, openMenu, saveMenu, exitMenu, checkAllMenu, copyMenu,// 各菜單下的項目
plasterMenu, warpMenu, fontMenu;
JTextArea textArea; // 文本編輯區
JScrollPane jpnscroll; // 滾動面板
public Test() {
super("記事本");
fileMenu = new JMenu("文件(F)");// ==文件菜單
fileMenu.setMnemonic('F');
newMenu = new JMenuItem("新建(N)"); // 新建項
newMenu.setMnemonic('N');
fileMenu.add(newMenu);
fileMenu.addSeparator(); // 添加分割線
newMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
InputEvent.CTRL_MASK));
openMenu = new JMenuItem("打開(O)"); // 保存項
openMenu.setMnemonic('O');
fileMenu.add(openMenu);
fileMenu.addSeparator(); // 添加分割線
openMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
InputEvent.CTRL_MASK));
saveMenu = new JMenuItem("保存(S)"); // 保存項
saveMenu.setMnemonic('S');
fileMenu.add(saveMenu);
fileMenu.addSeparator(); // 添加分割線
saveMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
InputEvent.CTRL_MASK));
exitMenu = new JMenuItem("退出(X)");// 退出項
exitMenu.setMnemonic('X');
fileMenu.add(exitMenu);
exitMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
InputEvent.CTRL_MASK));
JMenu editorMenu = new JMenu("編輯(E)"); // ==編輯菜單
editorMenu.setMnemonic('E');
checkAllMenu = new JMenuItem("全選(A)"); // 全選項
checkAllMenu.setMnemonic('A');
editorMenu.add(checkAllMenu);
editorMenu.addSeparator(); // 添加分割線
checkAllMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
InputEvent.CTRL_MASK));
copyMenu = new JMenuItem("復制(C)"); // 復制項
copyMenu.setMnemonic('C');
editorMenu.add(copyMenu);
editorMenu.addSeparator(); // 添加分割線
copyMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
InputEvent.CTRL_MASK));
plasterMenu = new JMenuItem("粘貼(P)"); // 粘貼項
plasterMenu.setMnemonic('P');
editorMenu.add(plasterMenu);
plasterMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,
InputEvent.CTRL_MASK));
JMenu formatMenu = new JMenu("格式(O)"); // ==格式菜單
formatMenu.setMnemonic('O');
warpMenu = new JMenuItem("自動換行(W)"); // 自動換行項
warpMenu.setMnemonic('W');
formatMenu.add(warpMenu);
formatMenu.addSeparator(); // 添加分割線
warpMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,
InputEvent.CTRL_MASK));
fontMenu = new JMenuItem("字體(F)"); // 字體項
fontMenu.setMnemonic('F');
fontMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,
InputEvent.CTRL_MASK));
formatMenu.add(fontMenu);
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
bar.add(fileMenu);
bar.add(editorMenu);
bar.add(formatMenu);
textArea = new JTextArea();
jpnscroll = new JScrollPane(textArea);
getContentPane().add(jpnscroll, BorderLayout.CENTER);
setSize(500, 300);
setVisible(true);
// 註冊事件接聽器
newMenu.addActionListener(this);
openMenu.addActionListener(this);
saveMenu.addActionListener(this);
exitMenu.addActionListener(this);
checkAllMenu.addActionListener(this);
copyMenu.addActionListener(this);
plasterMenu.addActionListener(this);
warpMenu.addActionListener(this);
fontMenu.addActionListener(this);
}
public static void main(String args[]) {
Test application = new Test();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == newMenu) { // System.out.println("新建");
Test application = new Test();
}
if (e.getSource() == openMenu) { // System.out.println("打開");
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("NoteText.java"));
chooser.showOpenDialog(newMenu);
}
if (e.getSource() == saveMenu) { // System.out.println("保存");
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("NoteText.java"));
chooser.showSaveDialog(newMenu);
}
if (e.getSource() == exitMenu) {
System.exit(0);
}
if (e.getSource() == checkAllMenu) {
System.out.println("全選");
}
if (e.getSource() == copyMenu) {
System.out.println("復制");
}
if (e.getSource() == plasterMenu) {
System.out.println("粘貼");
}
if (e.getSource() == warpMenu) {
System.out.println("自動換行");
}
if (e.getSource() == fontMenu) {
System.out.println("字體");
}
}
}