我们如何在swt中添加Menu to Label

如何将标签添加到标签? 我想通过单击标签显示下拉菜单,向用户显示一些选项。 SWT怎么可能?

您可以通过调用Control#setMenu(Menu)Menu添加到所有Control 。 这是Label一个小例子:

 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(); }