0

一連のテキストボックス、リストボックス、日付ピッカー、チェックボックスを変更することで、ユーザーがエンティティ、たとえば顧客を変更できるアプリケーションがあります。保存とキャンセルの2つのボタンもあります。実際に変更が加えられた場合(つまり、入力ウィジェットの1つが変更された場合)、保存ボタンを有効にしたいのですが。明らかに、これは、すべてのウィジェットに変更リスナーを手動で追加することにより、「ブルートフォース」方式で実行できます。または、ウィジェットのリストを定義し、forループにリスナーを追加することで少し改善することもできます。誰かがもっとエレガントな解決策を持っているかどうか知りたいですか?

ありがとう、マティアス

4

1 に答える 1

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.
}
于 2012-05-12T07:55:43.467 に答える