以下の問題をサポートしてください。
1 つのテーブルとその他のコンポーネントを含むダイアログがあります。そのテーブルには複数の行と列があります。列には、ユーザーがデータを入力するテキスト フィールドが含まれています。
ただし、ソース コードは以下の他のレイヤーによってビルドされます。
- ダイアログ コンポーネントは DialogA クラスによって構築されます
- テーブル コンポーネントは TableB クラスによって構築されます
- TableB は、このテーブルの列、行、テキスト フィールドを生成するジェネレータ クラス GeneratorC を呼び出します。
GeneratorC にとどまると、TableB のテキスト フィールドにリスナーを追加してイベントをキャッチできますが、DialogA にとどまっているため、そのテキスト フィールドの値変更イベントをキャッチできません。TableB にリスナーを追加しましたが、このリスナーは列と行のイベントのみをキャッチしますが、このリスナーはそのテキスト フィールドのイベントをキャッチしません。
実際には、テキストフィールドのキャッチ値変更イベントのみが必要です。現在、私はまだこの問題の解決策を見つけていません。
ソース コード セグメントは TableB にリスナーを追加します。このソース コードは DialogA に残ります。
TableB.addListener(new Property.ValueChangeListener()
{
private static final long serialVersionUID =
1L;
@Override
public void valueChange(
ValueChangeEvent event)
{
String temp = (String)event.getProperty().getValue();
}
});
あなたの答えを楽しみにしています。