0
我有一個TreePanel,它分層顯示不同類型的對象。地區,城市,地點...如何防止在GXT中顯示空的上下文菜單
我希望能夠在不同級別顯示不同的上下文菜單項。例如:對的miR區,MIC爲市,MIL的位置... 我用這個剪斷,以實現動態結構:
contextMenu.addListener(Events.BeforeShow, new Listener<MenuEvent>() {
@Override
public void handleEvent(MenuEvent be) {
//First make all menu items invisible
List<Component> menuItems = contextMenu.getItems();
for (Component c : menuItems) {
c.setVisible(false);
}
//And make apprepriate menu items visible
TopologyTreeElement s = tree.getSelectionModel().getSelectedItem();
if (s instanceof TopologyTreeElement.Region) {
miR.setVisible(true);
}
if (s instanceof TopologyTreeElement.City) {
miC.setVisible(true);
}
}
});
但是,在任何級別的,如果所有的項目都是無形的,它顯示了一個空盒子。我希望它不要完全顯示菜單。我試着將這段代碼片段添加到方法中,但它沒有提供任何幫助。
//Do not show menu if no menu item is invisible
boolean isMenuShouldBeVisible = miC.isVisible() || miR.isVisible();
if (!isMenuShouldBeVisible) {
be.preventDefault();
be.stopEvent();
}
任何人都可以提出不同的方法?