Мне нужно условное всплывающее меню в jtree, основанное на том, на каком узле я щелкаю правой кнопкой мыши.Является ли это возможным?Я реализовал это следующим образом, но если я сначала нажму на узел на уровне глубины 1, он покажет правильное всплывающее меню, но затем, если щелкнуть правой кнопкой мыши на узле на уровне 2, я все равно получу то же всплывающее меню, что и для уровня 1. И аналогично, наоборот.
DefaultMutableTreeNode node = (DefaultMutableTreeNode) pmTree.getLastSelectedPathComponent();
popup = new JPopupMenu();
popup.setInvoker(pmTree);
PopupHandler handler = new PopupHandler(pmTree, popup);
if(node.getLevel() == 1)
{
popup.add(getMenuItem("Start a VM", handler));
popup.add(getMenuItem("Monitor all VMs", handler));
}
else if(node.getLevel() == 2)
{
popup.add(getMenuItem("Change VM configuration", handler));
popup.add(getMenuItem("Monitor VM", handler));
popup.add(getMenuItem("Migrate VM", handler));
popup.add(getMenuItem("Show VM Configuration", handler));
popup.add(getMenuItem("Stop VM", handler));
}