3

私はこのJList(たとえばMyList)をJFrameに持っています。Netbeans6 GUIビルダーを使用していて、このリストのバインディングを設定しました。

実行すると、バインディングは正常に機能し、MyListが正しく入力されます。

さて、私が探しているのは、ボタンクリックの別のテキストボックスからこのリストにデータを追加する方法です。しかし、ここに問題があります:

バインディングなしでは、「getModel()」関数を使用してJListのListModelを抽出し、「addElement()」を使用して要素を追加します。

ただし、バインディングを使用している場合。ListModelを抽出してDefaultListModelにマップしようとすると、次の例外が発生します。

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jdesktop.swingbinding.JListBinding$BindingListModel cannot be cast to javax.swing.DefaultListModel

だから私の質問は、他のデータソースにすでにバインドされているMyListに要素を追加するにはどうすればよいですか?

誰か手がかりがありますか?どんな助けでも大歓迎です!!

ありがとう!

4

1 に答える 1

2

JListがバインドされているリストを変更する必要があります。また、このリストは、変更を登録するための監視可能なリストである必要があります。バインディングのポイントは、コンポーネントのモデルを操作するのではなく、その下にあるデータ型を操作することです。

于 2010-08-03T13:19:01.700 に答える