2012-05-08 2 views
1

JComboBoxは、データベースから情報を取得します。このリストは、データが追加された直後に更新されます。JComboBoxをリフレッシュするAbstractListModelのメソッドは?

私は更新する値にfireContentsChangedが必要であることを知っています。方法で何をすべきかわかりません。どんな指導も頂けます!

class ComboModel extends AbstractListModel implements ComboBoxModel 
{ 
    ArrayList list = new ArrayList(); 

    @Override 
    public Object getElementAt(int arg0) { 

     return null; 
    } 

    @Override 
    public int getSize() { 
     return list.size();  
    } 

    @Override 
    public Object getSelectedItem() { 


    } 

    @Override 
    public void setSelectedItem(Object arg0) { 


    }   
} 


stockListComboBox = new JComboBox(); 
ComboModel model = new ComboModel(); 
stockListComboBox.setModel(model);   

try 
{ 
    // Database stuffs 
} 

catch(Exception e) 
{ 
    e.printStackTrace(); 
} 

答えて

2

モデルの核として、たとえばArrayListや他の種類の順序付きリストを用意する必要があります。これを行うと、メソッドが意味を持ち始めます。

+0

ホバークラフトEelsの完全、説明のためにありがとう。私はすべての方法を使用する必要がありますか?私はまだ失われているいくつかの例を見てきました。私はどのように私はメソッドに追加する必要があるか分からない。 –

+0

必要な抽象メソッドをオーバーライドする必要があります。それを試してみてください、あなたはそれを理解するか、少なくとも近づくでしょう。 –

0

前述のとおり、データを入力する必要があります。コンボボックスの最も簡単な方法は、コンストラクタ内のObject []をとるDefaultComboBoxModelを使用することです。一般に、上記の最初の2つのメソッドは、1)リスト内の要素を取得する、2)リストのサイズを戻すことを意味します。

次の2つは、リスト内のどのアイテムが選択されたかを追跡するためのものです。私はjavadocsを見ることをお勧めします。また、eclipse、netbeans、intellijを使用している場合は、DefaultComboBoxModelのソースコードを非常に簡単に見ることができ、そのメソッドが何をしているのかがはっきり分かります。

+0

マット、説明のためにありがとう。私はすべての方法を使用する必要がありますか?私は自分のデータベースからデータを取得する必要があります。 –

関連する問題