1

JComboBoxは、データベースから情報を取得します。リストは、データが追加された直後に更新されます。

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();
}
4

2 に答える 2

2

モデルの中核としてコレクションを提供する必要があります。たとえば、ArrayList やその他の種類の順序付きリストです。これを行うと、メソッドが意味を成し始めます。

于 2012-05-08T02:02:09.277 に答える
0

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

次の 2 つは、リスト内のどの項目が選択されているかを追跡するためのものです。javadocs を参照することをお勧めします。また、Eclipse、netbeans、または intellij を使用している場合は、DefaultComboBoxModel のソース コードを非常に簡単に表示できるはずであり、これらのメソッドが何を行っているかが明らかなはずです。

于 2012-05-08T02:17:39.940 に答える