Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在swt中向标签添加菜单_Java_User Interface_Swt - Fatal编程技术网

Java 如何在swt中向标签添加菜单

Java 如何在swt中向标签添加菜单,java,user-interface,swt,Java,User Interface,Swt,如何将菜单添加到标签?我想通过点击标签来显示一个下拉菜单,向用户显示一些选项。如何在SWT中实现这一点?您可以通过调用Control#setMenu(Menu)向所有控件添加菜单。下面是一个标签的小示例: public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("StackOverflo

如何将菜单添加到标签?我想通过点击标签来显示一个下拉菜单,向用户显示一些选项。如何在SWT中实现这一点?

您可以通过调用
Control#setMenu(Menu)
向所有
控件添加
菜单。下面是一个
标签的小示例:

public static void main(String[] args)
{
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("StackOverflow");
    shell.setLayout(new FillLayout());

    Label label = new Label(shell, SWT.NONE);
    label.setText("Right-click here");

    Menu menu = new Menu(label);
    MenuItem item = new MenuItem(menu, SWT.PUSH);
    item.setText("Context-menu item");
    item.addListener(SWT.Selection, new Listener()
    {
        @Override
        public void handleEvent(Event event)
        {
            System.out.println("clicked");
        }
    });

    label.setMenu(menu);

    shell.pack();
    shell.open();

    while (!shell.isDisposed())
    {
        if (!display.readAndDispatch())
        {
            display.sleep();
        }
    }
    display.dispose();
}

非常感谢。这很有帮助。