Bài viết này sẽ hướng dẫn các bạn tạo 1 popup menu.
PopupMenuEx.java
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 PopupMenuEx { public PopupMenuEx(Display display) { initUI(display); } private void initUI(Display display) { Shell shell = new Shell(display, SWT.SHELL_TRIM | SWT.CENTER); Menu menu = new Menu(shell, SWT.POP_UP); MenuItem minItem = new MenuItem(menu, SWT.PUSH); minItem.setText("Minimize"); minItem.addListener(SWT.Selection, event -> { shell.setMinimized(true); }); MenuItem exitItem = new MenuItem(menu, SWT.PUSH); exitItem.setText("Exit"); exitItem.addListener(SWT.Selection, event -> { shell.getDisplay().dispose(); System.exit(0); }); shell.setText("Popup menu"); shell.setMenu(menu); shell.setSize(300, 250); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } @SuppressWarnings("unused") public static void main(String[] args) { Display display = new Display(); PopupMenuEx ex = new PopupMenuEx(display); display.dispose(); } }
Giải thích:
Trong ví dụ này, mình tạo 2 item cho popup menu: minimize thu nhỏ cửa sổ về thanh taskbar của Windows + Exit kết thúc chương trình.
Menu menu = new Menu(shell, SWT.POP_UP);
Tạo popup menu với hằng số SWT.POP_UP
MenuItem minItem = new MenuItem(menu, SWT.PUSH); minItem.setText("Minimize");
Tạo menu item với với hằng số SWT.PUSH
minItem.addListener(SWT.Selection, event -> { shell.setMinimized(true); });
Minimize cửa sổ bằng phương thức setMinimized()
shell.setMenu(menu);
Gắn menu lên cửa sổ shell.
Kết quả:
Leave a Reply
You must be logged in to post a comment.