ch16 筆記本
DESCRIPTION
Ch16 筆記本. 物件導向系統實務. Step 1: 建立視窗. Win_NoteBook_01 import javax.swing.*; import java.awt.*; import java.awt.event.*; class Win_NoteBook_01 extends JFrame implements ActionListener { private Container c; Win_NoteBook_01() { super(" 筆記本 "); - PowerPoint PPT PresentationTRANSCRIPT
Ch16 筆記本
物件導向系統實務
Step 1:建立視窗
• Win_NoteBook_011. import javax.swing.*;2. import java.awt.*;3. import java.awt.event.*;
4. class Win_NoteBook_01 extends JFrame5. implements ActionListener6. { 7. private Container c;8. 9. Win_NoteBook_01()10. {11. super("筆記本 ");12. c = getContentPane();13. c.setBackground(Color.white); 14. }
15. public void actionPerformed (ActionEvent e)
16. {17. }
18. }
• Win_NoteBook_Main.java1. import javax.swing.*;2. import java.awt.*;3. import java.awt.event.*;
4. class Win_NoteBook_Main5. {6. public static void main(String [] args)7. {8. Win_NoteBook_01 NB = new
Win_NoteBook_01();9. NB.addWindowListener(new
WindowAdapter()10. {11. public void windowClosing(WindowEvent
evt)12. { System.exit(0); }13. } );14. NB.setSize(300, 200);15. NB.setVisible(true);16. }17. }
Step2: 加上下式拉式選單
1. import javax.swing.*;2. import java.awt.*;3. import java.awt.event.*;
4. class Win_NoteBook_02 extends JFrame5. implements ActionListener6. { 7. private Container c;8. private JMenuBar jmb = new JMenuBar();
9. private JMenu file = new JMenu("檔案 (F)");10. private JMenu edit = new JMenu("編輯 (E)");11. private JMenu help = new JMenu("說明 (H)");
12. 13. Win_NoteBook_02()14. {15. super("筆記本 ");16. c = getContentPane();17. c.setBackground(Color.white); 18. setJMenuBar(jmb);
19. file.setMnemonic(KeyEvent.VK_F);20. edit.setMnemonic(KeyEvent.VK_E);21. help.setMnemonic(KeyEvent.VK_H);
•
22. JMenuItem item;23. file.add(item = new JMenuItem("新增 (N)",
KeyEvent.VK_N));24. item.addActionListener(this);
25. file.add(item = new JMenuItem("開啟 (O)", KeyEvent.VK_O));
26. item.addActionListener(this);
27. file.add(item = new JMenuItem("儲存 (S)", KeyEvent.VK_S));
28. item.addActionListener(this);
29. file.addSeparator(); //分隔線
30. file.add(item = new JMenuItem("離開 (X)", KeyEvent.VK_X));
31. item.addActionListener(this);
32. jmb.add(file);33. }
34. public void actionPerformed (ActionEvent e)35. {36. if(e.getActionCommand()=="離開 (X)")37. System.exit(0); 38. }
39. }
Step 3:加入有捲軸的文字區域
1. import javax.swing.*;2. import java.awt.*;3. import java.awt.event.*;
4. class Win_NoteBook_03 extends JFrame5. implements ActionListener6. { 7. private Container c;8. private JMenuBar jmb = new JMenuBar();
9. private JMenu file = new JMenu("檔案 (F)");10. private JMenu edit = new JMenu("編輯 (E)");11. private JMenu help = new JMenu("說明 (H)");
12. private JTextArea area = new JTextArea(15,30);
13. 14. Win_NoteBook_03()15. {16. super("筆記本 ");17. c = getContentPane();18. c.setBackground(Color.white); 19. setJMenuBar(jmb);
20. file.setMnemonic(KeyEvent.VK_F);21. edit.setMnemonic(KeyEvent.VK_E);22. help.setMnemonic(KeyEvent.VK_H);
23. JMenuItem item;24. file.add(item = new JMenuItem("新增 (N)",
KeyEvent.VK_N));25. item.addActionListener(this);
•
26. file.add(item = new JMenuItem("開啟 (O)", KeyEvent.VK_O));27. item.addActionListener(this);
28. file.add(item = new JMenuItem("儲存 (S)", KeyEvent.VK_S));29. item.addActionListener(this);
30. file.addSeparator(); //分隔線
31. file.add(item = new JMenuItem("離開 (X)", KeyEvent.VK_X));32. item.addActionListener(this);
33. jmb.add(file);
34. JScrollPane scroll = new JScrollPane(area);35. c.add(scroll);36. }
37. public void actionPerformed (ActionEvent e)38. {39. if(e.getActionCommand()=="離開 (X)")40. System.exit(0); 41. }
42. }
Step 4:加入檔案選擇元件
• import javax.swing.*;• import java.awt.*;• import java.awt.event.*;• import java.io.*;• import javax.swing.filechooser.*;
• class Win_NoteBook_04 extends JFrame• implements ActionListener• { • private Container c;• private JMenuBar jmb = new JMenuBar();
• private JMenu file = new JMenu("檔案 (F)");• private JMenu edit = new JMenu("編輯 (E)");• private JMenu help = new JMenu("說明 (H)");
• private JTextArea area = new JTextArea(15,30);• private JFileChooser jfc = new JFileChooser();
• • Win_NoteBook_04()• {• super("筆記本 ");• c = getContentPane();• c.setBackground(Color.white); • setJMenuBar(jmb);
• file.setMnemonic(KeyEvent.VK_F);• edit.setMnemonic(KeyEvent.VK_E);• help.setMnemonic(KeyEvent.VK_H);
• JMenuItem item;• file.add(item = new JMenuItem("新增 (N)", KeyEvent.VK_N));• item.addActionListener(this);
• file.add(item = new JMenuItem("開啟 (O)", KeyEvent.VK_O));• item.addActionListener(this);
• file.add(item = new JMenuItem("儲存 (S)", KeyEvent.VK_S));• item.addActionListener(this);
• file.addSeparator(); //分隔線
• file.add(item = new JMenuItem("離開 (X)", KeyEvent.VK_X));• item.addActionListener(this);
•
• jmb.add(file);
• JScrollPane scroll = new JScrollPane(area);• c.add(scroll);• }
• public void actionPerformed (ActionEvent e)• {• if(e.getActionCommand() == "新增 (N)")• area.setText("");
• if(e.getActionCommand() == "開啟 (O)")• {• int n = jfc.showOpenDialog(Win_NoteBook_04.this);• if ( n == JFileChooser.APPROVE_OPTION)• {• File selectedFile = jfc.getSelectedFile();• area.append("開啟檔案 :");• area.append(selectedFile.getName() + "\n");• }• }
• if(e.getActionCommand() == "儲存 (S)")• {• int n = jfc.showSaveDialog(Win_NoteBook_04.this);• if (n == JFileChooser.APPROVE_OPTION)• {• File selectedFile = jfc.getSelectedFile();• area.append("儲存檔案 :");• area.append(selectedFile.getName() + "\n");• }• }
• if(e.getActionCommand()=="離開 (X)")• System.exit(0); • }
• }