งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การสร้างส่วนติดต่อกับผู้ใช้ (5) การสร้างเมนู

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การสร้างส่วนติดต่อกับผู้ใช้ (5) การสร้างเมนู"— ใบสำเนางานนำเสนอ:

1 การสร้างส่วนติดต่อกับผู้ใช้ (5) การสร้างเมนู

2 การสร้างเมนู มีคลาสที่เกี่ยวข้องกับการสร้างเมนูดังนี้
JMenuBar ใช้สร้างแถบเมนูด้านบน (จะได้พื้นที่ขาวๆ เปล่าๆ) JMenu ใช้สร้างรายการกลุ่มเมนู (ในภาพบนมี 3 ตัว คือ A Menu, Another Menu, A submenu) JMenuItem ใช้สร้างเมนูย่อย ที่เป็นเมนูลูกตัวสุดท้าย (ในภาพบนมี 5 ตัวคือ A text-only menu item, An item in the submenu, Another item และเมนูที่มีรูปภาพด้านหน้าอีก 2 อัน) JCheckboxMenuItem ใช้สร้างเมนูแบบ checkbox (ภาพบนมี 2 ตัว) JRadioButtonMenuItem ใช้สร้างเมนูแบบ radiobutton (ภาพบนมี 2 ตัว) JSeparator ใช้สร้างเส้นคั่นรายการเมนู

3 JMenuBar ใช้สร้างแถบเมนูด้านบน มี constructor ดังนี้ public JMenuBar()
ตัวอย่าง myMenuBar = new JMenuBar(); การใช้งาน สามารถใส่ออบเจ็กต์ของคลาส JMenuBar ลงใน Frame ได้โดยใช้เมธอด setJMenuBar() ตัวอย่าง this.setJMenuBar(myMenuBar);

4 JMenu ใช้สร้างรายการกลุ่มเมนู constructor ที่สำคัญคือ
public JMenu(String label); ตัวอย่าง menuFood = new JMenu("Food"); การใช้งาน ต้องใส่ออบเจ็กต์ของคลาส JMenu ลงใน JMenuBar โดยใช้เมธอด add() ตัวอย่าง myMenuBar.add(menuFood);

5 JMenuItem ใช้สร้างเมนูย่อยสุดที่เป็นเมนูลูก constructor ที่สำคัญ
public JMenuItem(String label); ตัวอย่าง miChickenSteak = new JMenuItem("Chicken steak"); การใช้งาน ให้ใส่ menuItem ลงไปใน menu อีกทีหนึ่งด้วยเมธอด add()

6 การใส่รูปภาพให้กับ JMenu, JMenuItem
สามารถใส่รูปภาพ icon ให้กับเมนูได้โดยใช้คำสั่ง setIcon ตัวอย่าง menuFood.setIcon(new ImageIcon("./icon/food.jpg"));

7 การกำหนด Mnemonic code
คือการกำหนดคีย์ที่เป็น shortcut ให้กับเมนู โดยใช้คำสั่ง setMnemonic() ตัวอย่าง miChickenNoodle.setMnemonic(KeyEvent.VK_C); หมายถึง เมื่อกด key ตัว C ในคีย์บอร์ดจะเป็นการเลือกเมนูนี้

8 JCheckBoxMenuItem ใช้สร้างรายการเมนูแบบ checkbox Constructor ที่สำคัญ
public JCheckBoxMenuItem(String label) public JCheckBoxMenuItem(String label, boolean state)

9 ขั้นตอนการสร้างเมนู สร้างออบเจ็กต์ของคลาส JMenuBar แล้วใส่ลงไปใน Jframe ใช้คำสั่ง setJMenuBar() สร้างออบเจ็กต์ของคลาส JMenu แล้วใส่ลงไปใน JMenuBar ใช้คำสั่ง add() สร้างออบเจ็กต์ของคลาส JMenuItem แล้วใส่ลงไปใน Jmenu ใช้คำสั่ง add()

10 ตัวอย่างการสร้างเมนู

11 public class MenuTest extends JFrame{ //1
public class MenuTest extends JFrame{ //1.ประกาศชื่อออบเจ็กต์ต่างๆ ที่จำเป็นต้องใช้ในโปรแกรม private JMenuBar myMenuBar; private JMenu menuFood, menuDrink, menuNoodle, menuSteak; private JMenuItem miChickenNoodle, miFishNoodle, miChickenSteak, miFishSteak; private JPanel p; private JTextArea ta; private JScrollPane sp; //2.เขียน constructor method เพื่อเริ่มต้นการทำงานขอบออบเจ็กต์ public MenuTest() { buildMenu(); //เรียกเมธอดเพื่อสร้างเมนู buildPanel(); //เรียกเมธอดเพื่อสร้างพาเนล this.setLayout(new BorderLayout()); this.add(p, BorderLayout.CENTER); this.setTitle("IT Restaurant"); setSize(300,300); setLocationRelativeTo(null); //ให้วินโดวส์อยู่กลางหน้าจอ setVisible(true); } //end constructor

12 miChickenSteak = new JMenuItem("Chicken steak");
//3.เขียนเมธอดเพื่อสร้างเมนู public void buildMenu() { //3.1 สร้าง new ออบเจ็บต์ต่างๆ ที่จำเป็นต้องใช้โปรแกรม myMenuBar = new JMenuBar(); menuFood = new JMenu("Food"); menuDrink = new JMenu("Drink"); menuNoodle = new JMenu("Noodle"); menuSteak = new JMenu("Steak"); miChickenNoodle = new JMenuItem("Chicken noodle”); miFishNoodle = new JMenuItem("Fish noodle“); miChickenSteak = new JMenuItem("Chicken steak"); miFishSteak = new JMenuItem("Fish steak"); //3.2 ใส่รูปภาพให้เมนู menuFood.setIcon(new ImageIcon("./icon/food.jpg")); menuDrink.setIcon(new ImageIcon("./icon/drink.jpg")); miChickenNoodle.setIcon(new ImageIcon("./icon/noodlechicken.jpg")); miFishNoodle.setIcon(new ImageIcon("./icon/noodlefish.jpg")); miChickenNoodle.setMnemonic(KeyEvent.VK_C); //กำหนด mnemonic code miFishNoodle.setMnemonic(KeyEvent.VK_F); //กำหนด mnemonic code

13 miChickenNoodle.addActionListener(new ActionListener() {
// 3.3 เขียนดักจับ event ให้กับ menuItem miChickenNoodle.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { // method getText เพื่อดึงข้อความเดิมที่อยู่ใน textarea ออกมา // method setText เพื่อกำหนดค่าข้อความใหม่ลงไปใน textarea ta.setText(ta.getText() + "You order chicken noodle.\n"); } }); miFishNoodle.addActionListener(new ActionListener() { ta.setText(ta.getText() + "You order fish noodle.\n");

14 //3. 4 add เมนูต่างๆ ลงไป myMenuBar. add(menuFood); myMenuBar
//3.4 add เมนูต่างๆ ลงไป myMenuBar.add(menuFood); myMenuBar.add(menuDrink); menuFood.add(menuNoodle); menuFood.addSeparator(); menuFood.add(menuSteak); menuNoodle.add(miChickenNoodle); menuNoodle.add(miFishNoodle); menuSteak.add(miChickenSteak); menuSteak.add(miFishSteak); //**สำคัญ** เพิ่ม menuBar ลงไปใน Frame this.setJMenuBar(myMenuBar); } //end buildMenu()

15 //4.สร้างเมธอด buildPanel public void buildPanel() { p = new JPanel(new BorderLayout()); ta = new JTextArea(); sp = new JScrollPane(ta); //รวมให้ textarea มี scrollbar ด้วย //แล้ว add scrollpane ลงไปใน panel p.add(sp, BorderLayout.CENTER); } //5.เขียน main เพื่อเริ่มต้นทำงานโปรแกรม public static void main(String[] args) { MenuTest mt = new MenuTest();

16 แบบฝึกหัด เขียนโปรแกรม Notepad โดยมีเมนูดังนี้
หมายเหตุ เปลี่ยนสีตัวอักษรใช้คำสั่ง ta.setForeground(Color.red); เปลี่ยน font ใช้คำสั่ง Font newfont = new Font(“Serif”,Font.Plain, 20); ta.setFont(newfont);


ดาวน์โหลด ppt การสร้างส่วนติดต่อกับผู้ใช้ (5) การสร้างเมนู

งานนำเสนอที่คล้ายกัน


Ads by Google