Java SWT – Submenu

Ví dụ này hướng dẫn các bạn tạo 1 submenu

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 SubMenuEx {

    public SubMenuEx(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 cascadeEditMenu = new MenuItem(menuBar, SWT.CASCADE);
        cascadeEditMenu.setText("&Edit");

        MenuItem subMenuItem = new MenuItem(fileMenu, SWT.CASCADE);
        subMenuItem.setText("New");

        Menu submenu = new Menu(shell, SWT.DROP_DOWN);
        subMenuItem.setMenu(submenu);

        MenuItem feedItem = new MenuItem(submenu, SWT.PUSH);
        feedItem.setText("&Java Project");

        MenuItem bmarks = new MenuItem(submenu, SWT.PUSH);
        bmarks.setText("&package");

        MenuItem mailItem = new MenuItem(submenu, SWT.PUSH);
        mailItem.setText("&class");

        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("Submenu");
        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();
        SubMenuEx ex = new SubMenuEx(display);
        display.dispose();
    }
}

Giải thích:
Ví dụ này tạo menu nằm trong 1 menu

MenuItem subMenuItem = new MenuItem(fileMenu, SWT.CASCADE);
subMenuItem.setText("New");

Việc tạo sub-menu tương tự với simple menu. Trước tiên, chúng ta tạo top-menu (với tham số SWT.CASCADE), nhưng chỉ khác ở chỗ widget cha. Ở đây là menu cha chứa sub-menu

 

MenuItem javPro = new MenuItem(submenu, SWT.PUSH);
javPro.setText("&Java Project");

MenuItem pack = new MenuItem(submenu, SWT.PUSH);
pack.setText("&Package");

MenuItem Class = new MenuItem(submenu, SWT.PUSH);
Class.setText("&Class");

Tạo push menu với tham số SWT.PUSH. Widget cha là đối tượng sub-menu “submenu”

Kết quả:

Java SWT - Submenu
Java SWT – Submenu

Be the first to comment

Leave a Reply