2012-05-11 24 views
0

我有一個應用程序,用戶可以通過修改一堆文本框,列表框,日期選取框和複選框來修改實體,比如客戶。我也有2個按鈕,保存和取消。我想在實際更改時啓用保存按鈕(即,其中一個輸入窗口小部件已被修改)。顯然,這可以通過手動將更改偵聽器添加到每個窗口小部件以「蠻力」方式完成。或者稍微改進可能是定義小部件列表並在for循環中添加監聽器。 我很好奇是否有人有更優雅的解決方案?對一組輸入小部件的GWT跟蹤修改

感謝, 馬加什

回答

2

如果你用UiBinder的,你可以使用類似:

@UiField TextBox textBoxA; 
@UiField TextBox textBoxB; 
@UiField TextBox textBoxC; 
@UiField DatePicker datPickerA; 
@UiField RadioButton radioButton; 

... 

@UiHandler(value={"textBoxA", "textBoxB", "textBoxC", "datePickerA"}) 
void somethingChanged(ChangeEvent e) { 
    // Enable your save button. 
} 

@UiHandler("radioButton") 
void somethingClicked(ClickEvent e) { 
    // Enable your save button. 
} 
+0

在申請單選按鈕,GWT引發以下錯誤:字段「personType」不具有「addChangeHandler '方法關聯。 – Matyas

+1

對於單選按鈕(http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/user/client/ui/RadioButton.html),您可以使用ClickEvent – DTing