有一個問題 - 我想在點擊它之後從面板中刪除GWT中的按鈕。GWT刪除按鈕後點擊它
事情是這樣的:
VerticalPanel vp3 = new VerticalPanel();
vp3.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
final HorizontalPanel hp1 = new HorizontalPanel();
hp1.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);
final HTML fireCondText = new HTML("Fire conditions");
fireCondText.setStyleName("h1");
final HTML obscurity = new HTML("Obscurity:");
obscurity.setStyleName("h3");
final HTML statusObscurity = new HTML("NO");
statusObscurity.setStyleName("no");
if (statusObscurity.getHTML() == "YES") statusObscurity.setStyleName("yes");
Button butObscurity = new Button(
"Edit", new ClickHandler() {
public void onClick(ClickEvent event) {
final Button butYes = new Button(
"YES", new ClickHandler() {
public void onClick(ClickEvent event) {
statusObscurity.setHTML("YES");
hp1.remove(butYes);
}
});
final Button butNo = new Button(
"YES", new ClickHandler() {
public void onClick(ClickEvent event) {
statusObscurity.setHTML("NO");
hp1.remove(butNo);
}
});
hp1.add(butYes);
hp1.add(butNo);
}
}
);
butObscurity.setStyleName("editButton");
但是,很明顯,日食強調remove方法,給我的錯誤:
The local variable butYes may not have been initialized
那麼,有沒有人對如何做到這一點的任何想法?或者有什麼辦法嗎?
我也想過創建計數器,但這也不起作用。
對不起,如果這是一個愚蠢的問題,但我在GWT中很新手。
P.S.搜索該網站的類似問題,只發現禁用,但這不是我所需要的。
HP1是HorizontalPanel? –
嘗試先創建按鈕以初始化它,然後添加單擊處理程序(兩個單獨的語句)。這應該可以防止Eclipse錯誤,因爲但是現在將被初始化。 – MikeJ
@ShiladittyaChakraborty,是的。 –