ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยSupaporn Pureesrisak ได้เปลี่ยน 10 ปีที่แล้ว
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);
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.