intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình Java căn bản - Chương 6 Lập trình menu với AWT ( tiếp)

Chia sẻ: Nguyễn Doãn Mạnh Đoàn | Ngày: | Loại File: PDF | Số trang:15

157
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục tiêu bài học: định nghĩa được menu là gì? biết cách tổ chức hệ thống menu của ứng dụng. Biết cấu trúc của lớp liên quan đến menu trong gói java.

Chủ đề:
Lưu

Nội dung Text: Lập trình Java căn bản - Chương 6 Lập trình menu với AWT ( tiếp)

  1. Chương 6 L p trình Menu v i AWT M c tiêu • Đ nh nghĩa ñư c Menu là gì? • Bi t cách t ch c h th ng menu c a ng d ng. • Bi t c u trúc các l p liên quan ñ n menu trong gói java.awt • Bi t vi t event handler cho h th ng menu. 1
  2. N i dung 6.1- Ôn t p. 6.2- H th ng Menu 6.3- C u trúc m t h menu 6.4- Các tính ch t c a m t m c ch n. 6.5- G i ý v thi t k h th ng menu cho ng d ng. 6.6- Các l p liên quan ñ n menu trong gói awt. 6.7- Phím nóng c a MenuItem 6.8- Chu i l nh k t h p 6.9- Minh h a. 6.1- Ôn t p • Gói java.awt ch a các l p giúp t o ra GUI. • Gói java.awt.event ch a các l p v Event Object, ch a các EventListener interfaces. • Object Status- Tr ng thái : T p tr thu c tính c a ñ i tư ng. • Event: Tình hu ng có 1 ñ i tư ng b ñ i tr ng thái. • Event object: Đ i tư ng ñư c phát sinh ñ ng khi 1 object b thay ñ i tr ng thái. • Event source: Đ i tư ng t o ra event object. • Listener : Đ i yư ng ch và x lý s ki n cho event source. 2
  3. Ôn t p ... • C u trúc qu n lý event c a m t component: (1) T o Listener. (2) Vi t code cho event handler. (3) Component.addXXXListeneer(Listener); • Listener có th là: (1) Chính Container ch a component. (2) M t l p inner c a l p Container. (3) M t ñ i tư ng xxxListener + Code event handler là thu c tính c a Container. (4) M t ñ i tư ng thu c l p xxxAdapter + Code Event handler. 6.2- H th ng Menu là gì? • Menu system- H th ng menu: T p các m c ch n ch c năng c a ng d ng ñư c t ch c phù h p. • Menu Item : M t m c ch n d ng chu i ký t trong t p m c ch n. • H menu ñơn gi n: m t Choice, m t danh sách nút l nh. • H menu ph c t p: Menu phân c p. 3
  4. 6.3-C u trúc m t h menu MenuItem MenuBar Các Menu Thanh phân cách 6.4- Tính ch t c a m t menu Item •Label-Chu i mô t . •Shortcut key- Phím nóng ñư c k t h p. •Enable/ Disable- Cho user tác ñ ng? •Action Command- Chu i tên l nh ñư c k t h p. • y thác x lý s ki n : ActionListener 4
  5. 6.5- G i ý v thi t k h th ng menu Bài toán có nhi u tác v Phân nhóm các tác v Nhóm 1 Nhóm 2 Nhóm 3 (MenuBar ch a các Menu) Tác v 21 Tác v 31 Tác v 11 Tác v 22 Tác v 32 Tác v 12 Tác v 23 Tác v 33 Tác v 13 Có th thêm các thanh Tác v 14 Tác v 34 phân cách (Separator) Tác v 35 ñ phân nhóm nh hơn M t Menu ch a Tác v 36 các MenuItem 6.6- Các l p liên quan ñ n menu trong gói AWT 5
  6. 6.6.1-L p MenuComponent • Là l p cha c a các ñ i tư ng menu • Constructor: MenuComponent(void) 6.6.2- L p MenuBar- Thanh ngang • Contructor: MenuBar() – T o menu bar tr ng 6
  7. 6.6.3- MenuItem – m t m c ch n • M t m c ch n có th l i là m t nhóm. Thí d : MenuItem constructors MenuItem() Constructs a new MenuItem with an empty label and no keyboard shortcut. MenuItem(String label) Constructs a new MenuItem with the specified label and no keyboard shortcut. MenuItem(String label, MenuShortcut s) Create a menu item with an associated keyboard shortcut 7
  8. MenuItem methods 6.6.4- L p Menu – Nhóm MenuItem • L p con c a l p MenuItem • Constructors: Menu() Constructs a new menu with an empty label. Menu(String label) Constructs a new menu with the specified label. Menu(String label, boolean tearOff) Constructs a new menu with the specified label, indicating whether the menu can be torn off. 8
  9. Menu class methods 6.6.5- L p CheckboxMenuItem • CheckboxMenuItem ch hi n th khi m c này ñư c ch n. • Constructors: CheckboxMenuItem() CheckboxMenuItem(String label) CheckboxMenuItem(String label, boolean state) 9
  10. CheckboxMenuItem methods • Ngoài các methods k th t l p MenuItem, có thêm các methods: void addItemListener(ItemListener l) void addNotify() getListeners (Class listenerType) Object getSelectedObjects() boolean getState() String paramString() void removeItemListener(ItemListener ) void setState(boolean b) 6.6.6- L p PopupMenu • Là menu s xu t khi ta kích chu t ph i. • Là l p con c a l p java.awt.Menu • Constructors: PopupMenu() - T o ñ i tư ng popup menu tr ng. PopupMenu (String label) - T o ñ i tư ng popup menu có n i dung 10
  11. PopupMenu methods Minh h a t o PopupMenu... class PopupMenuDemo extends Frame { PopupMenu pMenu = new PopupMenu(); MenuItem mnuCopy = new MenuItem("Copy"); MenuItem mnuCut = new MenuItem("Cut"); MenuItem mnuPaste = new MenuItem("Paste"); PopupMenuDemo() // Constructor of a frame { ... pMenu.add(mnuCopy); // setup popup menu pMenu.addSeparator(); pMenu.add(mnuCut); pMenu.addSeparator(); pMenu.add(mnuPaste); // Add popup menu to the frame this.add(pMenu); 11
  12. Minh h a code hi n th PopupMenu // In constructor of a frame // Add mouse Listener for showing popup menu addMouseListener ( new MouseAdapter() { public void mouseReleased(MouseEvent e) { if (e.isPopupTrigger()) // check right clicked pMenu.show(e.getComponent(), e.getX(),e.getY()); The } right-clicked position } ); Minh h a code qu n lý bi n c cho các m c ch n trong popupmenu ActionListener actListener = new ActionListener() { public void actionPerformed(ActionEvent e) { Object src=e.getSource(); if (src==mnuCopy) LblStatus.setText("menu Copy is selected"); if (src==mnuCut) LblStatus.setText("menu Cut is selected"); if (src==mnuPaste) LblStatus.setText("menu Paste is selected"); } }; mnuCopy.addActionListener(actListener); mnuCut.addActionListener(actListener); mnuPaste.addActionListener(actListener); 12
  13. 6.7 Phím nóng c a MenuItem • Shortcut Key: T h p Ctrl+ Phím s tác ñ ng vào 1 m c ch n tương t như kích chu t vào 1 m c menu. • L p java.awt.MenuShortcut giúp mô t các phím nóng. • L p java.awt.event.KeyEvent ñ nh nghĩa s n các phím • n ñ nh phím nóng cho MenuItem: MenuShortcut CtrlN = new MenuShortcut(KeyEvent.VK_N)); mnuNew.setShortcut(CtrlN); // Ctrl + N mnuOpen.setShortcut(new MenuShortcut(KeyEvent.VK_O)); 6.8- Chu i l nh k t h p • Action Command string: M t chu i ñư c gán cho 1 nút l nh hay 1 m c menu. mnuNew.setActionCommand("New Command"); • Các command string c a các ñ i tư ng ph i khác nhau • Có th qu n lý s ki n b ng command string. public void actionPerformed(ActionEvent e) { String CommandStr= e.getActionCommand(); if (CommandStr.equals("New Command")) { } ..... } 13
  14. 6.9-Minh h a • Minh h a 1- T o menu bar, thi t l p Shortcut key, qu n lý các m c ch n b ng e.getSource() • Minh h a 2- T o menu bar, qu n lý cac1 m c ch n b ng e.getActionCommand() • Minh h a 3- T o và qu n lý PopupMenu Minh h a 1 Demo 14
  15. Minh h a 2- V n thí d trư c nhưng Qu n lý s ki n v i Action Command Demo Minh h a 3- PopupMenu Demo 15
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2