Menu là đối tượng khá quen thuộc đối với các bạn. Trong ví dụ này, mình hướng dẫn các bạn tạo 1 simple menu.
package vncoding; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; public class SimpleMenuEx { public SimpleMenuEx(Display display) { initUI(display); } private void initUI(Display display) { Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.CENTER); Menu menuBar = new Menu(shell, SWT.BAR); MenuItem cascadeFileMenu = new MenuItem(menuBar, SWT.CASCADE); cascadeFileMenu.setText("&File"); Menu fileMenu = new Menu(shell, SWT.DROP_DOWN); cascadeFileMenu.setMenu(fileMenu); MenuItem exitItem = new MenuItem(fileMenu, SWT.PUSH); exitItem.setText("&Exit"); shell.setMenuBar(menuBar); exitItem.addListener(SWT.Selection, event-> { shell.getDisplay().dispose(); System.exit(0); }); shell.setText("Simple menu"); shell.setSize(300, 200); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } @SuppressWarnings("unused") public static void main(String[] args) { Display display = new Display(); SimpleMenuEx ex = new SimpleMenuEx(display); display.dispose(); } }
Giải thích:
Menu menuBar = new Menu(shell, SWT.BAR);
Tạo thanh menu (menu bar) với tham số SWT.BAR
MenuItem cascadeFileMenu = new MenuItem(menuBar, SWT.CASCADE); cascadeFileMenu.setText("&File");
Tạo top-menu “File” trên menu bar. Dấu & chỉ ra rằng chức năng shortcut key, user có thể dùng phím “alt + F” để chọn top-menu.
Menu fileMenu = new Menu(shell, SWT.DROP_DOWN); cascadeFileMenu.setMenu(fileMenu);
Tạo drop-down menu với tham số SWT.DROP_DOWN
MenuItem exitItem = new MenuItem(fileMenu, SWT.PUSH); exitItem.setText("&Exit");
Tạo menu item với tham số SWT.PUSH. Gắn menu item “Exit” vào drop-down menu.
shell.setMenuBar(menuBar);
Hiển thị menu bar lên Shell.
exitItem.addListener(SWT.Selection, event-> { shell.getDisplay().dispose(); System.exit(0); });
Lắng nghe sự kiện click hoặc dùng phím “alt + E”, kết thúc chương trình.
Kết quả:
Leave a Reply
You must be logged in to post a comment.