Java SWT – Simple Menu

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ả:

Java SWT - Simple Menu
Java SWT – Simple Menu

Be the first to comment

Leave a Reply