А как насчет передачи переменной с PopupPanel
в другие панели?
public class PanelWithPopup extends Composite
{
FlowPanel thisPanel = new FlowPanel();
PopupPanel popup = new PopupPanel();
SomeOtherPanel otherPanel;
public PanelWithPopup()
{
// pass the popup panel to the SomeOtherPanel
otherPanel = new SomeOtherPanel(popup);
thisPanel.add(otherPanel);
initWidget(thisPanel);
}
}
public class SomeOtherPanel
{
PopupPanel popup;
public SomeOtherPanel(PopupPanel p)
{
this.popup = p;
}
void hidePopup()
{
popup.hide();
}
}
Или, если другие панели были определены внутри главной панели (то есть, если SomeOtherPanel
было определено в PanelWithPopup
), вы можете получить прямой доступ к PopupPanel popup
.