1

次のように拡張することで、標準のGWTリストボックスにいくつかの機能を追加しました。

public class FeatureListBox extends ListBox
{
    public FeatureListBox()
    {
    }
    public FeatureListBox(boolean isMultipleSelect)
    {
        super(isMultipleSelect);
    }
    public FeatureListBox(Element element)
    {
        super(element);
    }
}

ここには何も派手なものはありません。ただし、現在、Changeイベントが発生していないか、少なくともハンドラー(以下に添付)が呼び出されていません。

FeatureListBox listBox = new FeatureListBox();
listBox.addChangeHandler(new ChangeHandler()
{
    public void onChange(ChangeEvent event)
    {
        // Do something here...
    }
});

なぜ何かアイデアはありますか?

4

2 に答える 2

0

問題は、カスタムリストボックスの使用方法にありました。私のアプリケーションでは、ウィジェットが添付としてマークされ、イベントを発生させるウィジェットクラスの静的wrap()メソッドを使用して、ページ上の既存のDOM要素の周りにGWTウィジェットをラップします。私はもともとカスタムリストボックスクラスでそれをしなかったので、通常のListBoxウィジェットの1つと同様の静的wrap()メソッドを実装し、それをコードで使用することになりました。今ではすべてが魅力のように機能します。

于 2012-09-27T14:36:28.023 に答える
0

引数のないコンストラクターを削除するか、内部でFeatureListBox呼び出しますsuper()。そうしないと、スーパークラスの初期化が行われず、おそらく表示されている結果になります。

于 2012-09-26T22:12:05.807 に答える