ch16 筆記本

9
Ch16 筆筆筆 筆筆筆筆筆筆筆筆

Upload: lorant

Post on 05-Jan-2016

48 views

Category:

Documents


6 download

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 Presentation

TRANSCRIPT

Page 1: Ch16  筆記本

Ch16 筆記本

物件導向系統實務

Page 2: Ch16  筆記本

Step 1:建立視窗

Page 3: Ch16  筆記本

• 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. }

Page 4: Ch16  筆記本

Step2: 加上下式拉式選單

Page 5: Ch16  筆記本

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. }

Page 6: Ch16  筆記本

Step 3:加入有捲軸的文字區域

Page 7: Ch16  筆記本

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. }

Page 8: Ch16  筆記本

Step 4:加入檔案選擇元件

Page 9: Ch16  筆記本

• 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); • }

• }