Cây thư mục trong java
Trang 1Chương 6 Lập trình Menu với AWT
Trang 2Mụ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
Trang 46.2- Hệ thống Menu là gì?
mục chọn chức năng của ứng dụng được
Trang 66.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
Trang 76.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ụ 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 86.6- Các lớp liên quan đến menu trong gói AWT
Trang 96.6.1-Lớp MenuComponent
• Là lớp cha của các đối tượng menu
• Constructor: MenuComponent(void)
Trang 106.6.2- Lớp MenuBar- Thanh ngang
• Contructor:
MenuBar() – Tạo menu bar trống
Trang 116.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ụ:
Trang 12MenuItem(String label, MenuShortcut s)
Create a menu item with an
associated keyboard shortcut
Trang 13MenuItem methods
Trang 14Constructs 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.
Trang 15Menu class methods
Trang 17CheckboxMenuItem methods
• Ngoài các methods kế thừ từ lớp
MenuItem, có thêm các methods:
void addItemListener(ItemListener l) boolean getState()
void setState(boolean b)
Trang 186.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
Trang 19PopupMenu methods
Trang 20Minh 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 21Minh 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 22Minh 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 24• 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"))
{ <code>
}
Trang 256.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
Trang 26Minh họa 1
Trang 27Minh họa 2-
Vẫn thí dụ trước nhưng
Quản lý sự kiện với Action Command
Demo
Trang 28Minh họa 3- PopupMenu
Demo