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.
Trang 13.3 Menu trong AWT
Trang 31- 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
Trang 53- 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
Trang 64- 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ụ 31 Tác vụ 32 Tác vụ 33 Tác vụ 34 Tác vụ 35 Tác vụ 36
Một Menu chứa các MenuItem
Có thể thêm các thanh phân cách (Separator)
để phân nhóm nhỏ hơn
Trang 75- Các lớp liên quan đến menu trong gói AWT
Trang 85.1-Lớp MenuComponent
• Là lớp cha của các đối tượng menu
• Constructor: MenuComponent(void)
Trang 95.2- Lớp MenuBar- Thanh ngang
• Contructor:
MenuBar() – Tạo menu bar trống
Trang 105.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ụ:
Trang 11Create a menu item with an
associated keyboard shortcut
Trang 12MenuItem methods
Trang 14Menu class methods
Trang 175.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
Trang 18PopupMenu methods
Trang 19Minh 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
Trang 20Minh 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
Trang 21Minh 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)
Trang 22• Ấ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));
Trang 237- 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();
Trang 248-Minh họa
Trang 25Ví dụ
Demo
Trang 26Ví dụ- PopupMenu
Demo