Lập trình Java căn bản - Chương 6 Lập trình menu với AWT ( tiếp)
lượt xem 8
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
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)
- 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
- 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
- Ô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
- 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
- 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.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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Lập trình Java căn bản
193 p | 1459 | 722
-
Thực hành lập trình nhúng căn bản Buổi 3
15 p | 351 | 106
-
Bài giảng Ngôn ngữ lập trình Java căn bản
115 p | 351 | 104
-
Bài giảng Lập trình Java cơ bản
239 p | 230 | 63
-
Bài giảng Lập trình Java căn bản: Chương 2 - ThS. Võ Đức Cẩm Hải
24 p | 19 | 8
-
Bài giảng Lập trình Java căn bản: Chương 6.2 - ThS. Võ Đức Cẩm Hải
30 p | 18 | 8
-
Lập trình Java căn bản - Giới thiệu
11 p | 109 | 8
-
Giáo trình Cơ sở lập trình java căn bản (Nghề: Lập trình viên máy tính - Cao đẳng) - Trường CĐ Nghề Kỹ thuật Công nghệ
139 p | 35 | 7
-
Bài giảng Lập trình Java căn bản: Chương 0 - ThS. Võ Đức Cẩm Hải
22 p | 10 | 6
-
Bài giảng Lập trình Java căn bản: Chương 9 - ThS. Võ Đức Cẩm Hải
50 p | 7 | 5
-
Bài giảng Lập trình Java căn bản: Chương 8 - ThS. Võ Đức Cẩm Hải
48 p | 15 | 5
-
Bài giảng Lập trình Java căn bản: Chương 7 - ThS. Võ Đức Cẩm Hải
29 p | 12 | 5
-
Bài giảng Lập trình Java căn bản: Chương 5 - ThS. Võ Đức Cẩm Hải
56 p | 14 | 5
-
Bài giảng Lập trình Java căn bản: Chương 4 - ThS. Võ Đức Cẩm Hải
27 p | 14 | 5
-
Bài giảng Lập trình Java căn bản: Chương 3 - ThS. Võ Đức Cẩm Hải
61 p | 12 | 5
-
Bài giảng Lập trình Java căn bản: Chương 10 - ThS. Võ Đức Cẩm Hải
87 p | 9 | 5
-
Bài giảng Lập trình Java căn bản: Chương 6.1 - ThS. Võ Đức Cẩm Hải
44 p | 8 | 4
-
Bài giảng Lập trình java: Chương 2 - ThS. Hoàng Mạnh Hà
25 p | 93 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn