1

hibernateを使用して単純なプロジェクトを作成しています。にレコードを表示する方法JTableJList知っていますが、からレコードを表示する方法がわかりませんJComboBox。とにかくここに私のコードがあり、データベースレコードを表示する方法を教えてくれますJComboBoxか?

エラーなどはありませんが、1つのレコードしか表示されず、ループ上にあることがわかっている最後のレコードですが、すべてのレコードを表示する方法がわかりません。これが私のコードです。

変数:

private Object[] loadName;

データのロードと取得の方法:

public Object[] LoadSupplier(){
    b = a.openSession();
    b.beginTransaction();
    Query query = b.createQuery("FROM Supplier");
    @SuppressWarnings("unchecked")
    ArrayList<Supplier> load = (ArrayList<Supplier>) query.list();
    b.getTransaction().commit();
    b.close();
    for(Supplier supply : load){
        loadName = new Object[]{supply.getSupplierName()};
    }
    return loadName;
}

そしてそれをデータベースに表示するために:

comboCategory = new JComboBox(LoadSupplier());

私がしたことは、JComboBox値としてメソッドを直接呼び出すことです:)正しく実行しているかどうかを教えてください。そして、望ましい出力を達成するための最良の方法は何ですか?

4

1 に答える 1

3

forループが繰り返されるたびにloadName変数を再割り当てしているので、以前のデータが保存されていないことに驚かないでください。代わりに、forループの前にオブジェクトを作成し、反復ごとにループ内のモデルに追加してみませんか?DefaultComboBoxModel<E>

于 2012-09-14T02:06:36.037 に答える