Jak dodać menu kontekstowe z prawym przyciskiem myszy do drzewa w drzewie SWT. Każdy treeitem powinien mieć włączone kliknięcie prawym przyciskiem myszyDodawanie menu prawego przycisku myszy do drzewa treeTem w drzewie SWT
Odpowiedz
Po prostu użyj tree.setMenu(Menu)
.
Nie idziesz:
public static void main(String[] args)
{
Display display = Display.getDefault();
final Shell shell = new Shell(display);
shell.setText("StackOverflow");
shell.setLayout(new FillLayout());
final Tree tree = new Tree(shell, SWT.NONE);
for(int i = 0; i < 10; i++)
{
TreeItem item = new TreeItem(tree, SWT.NONE);
item.setText("Parent " + i);
for(int j = 0; j < 3; j++)
{
TreeItem child = new TreeItem(item, SWT.NONE);
child.setText("Child " + i + " " + j);
}
}
final Menu menu = new Menu(tree);
tree.setMenu(menu);
menu.addMenuListener(new MenuAdapter()
{
public void menuShown(MenuEvent e)
{
MenuItem[] items = menu.getItems();
for (int i = 0; i < items.length; i++)
{
items[i].dispose();
}
MenuItem newItem = new MenuItem(menu, SWT.NONE);
newItem.setText("Menu for " + tree.getSelection()[0].getText());
}
});
shell.pack();
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
to działa! Dzięki za tonę! – user2598071
@ user2598071 Nie ma za co. – Baz
Czy istnieje sposób blokowania wyświetlania menu tylko dla pierwszego poziomu drzewa? Na przykład, aby wyświetlać tylko root. – Justplayit94
@ dic19 muszę używać tylko SWT.Adding słuchacza do pozycji drzewa z imprezy jak SWT.MenuDetect nie działa – user2598071