1
對於菜單實現,我在FocusPanel
上添加了包含標籤的clickhandler。點擊FocusPanel
將打開一個VerticalPanel
,其他幾個標籤都帶有ClickHandlers。點擊其中一個標籤可更改FocusPanel
中的標籤。這部分工作正常。但由於某種原因,我不能在點擊標籤後隱藏VerticalPanel
。GWT clickhandler不隱藏它自己的面板
關於什麼可能是錯誤的任何想法?
我已經添加了一些sysout,它告訴我該面板實際上是隱藏的,頂部位置爲0.但是,它並沒有消失在屏幕上(在FF和Chrome中測試)。
final VerticalPanel popupPanel = new VerticalPanel();
popupPanel.setVisible(false);
popupPanel.setStyleName("popupGreen");
for (int i = 0; i < options.length; i++) {
final Label option = new Label();
final String text = options[i];
option.setText(text);
if (text.equals(chosen)) {
option.addStyleName("selected");
}
option.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
textBox.setText(text);
popupPanel.setVisible(false);
popupPanel.getElement().getStyle().setProperty("display", "none");
System.out.println(popupPanel.isVisible());
System.out.println(popupPanel.getAbsoluteTop());
}
});
popupPanel.add(option);
}
verticalPanel.add(popupPanel);
謝謝。將面板移動到FocusPanel外面解決了問題。 – 2013-05-08 13:18:02
或者當你在'VerticalPanel'級別處理點擊時,你可以'event.stopPropagation()'。 – 2013-05-08 15:58:27