2016-09-23 10 views
1

私のコードに問題があります。 私は多次元のString配列[] []を持ち、その中からリストを作成したいと思います。 したがって、配列[]要素ごとに、その値を持つ新しいリストが必要です。たとえば、私は4つのリストを持っていました。リスト1ハット3値、リスト2は1値、リスト3は4値、リスト4は2値です。 JListを使ったときにうまくいきました。そこで私はDefaultListModelで異なる値を持つ複数のリストを作成するには

protected static JComponent getButtonCluster() { 
    contentPanel.removeAll(); 
    contentPanel.setLayout(new GridLayout(0,2, 5, 5)); 
    contentPanel.setBorder(new EmptyBorder(10,0,0,0)); 
    for (int i=0; i < StringArray.length; i++) { 
     listbox = new JList(StringArray[i]); 
     contentPanel.add(listbox); 
    } 
    return contentPanel; 
} 

:配列の各値に対して、その値のすべてを持っている。しかし、今、私は値をクリックして値を変更したいので、DefaultListModelにのみてJListから変更しなければなりませんでした。 そして、すべてのリストは配列のすべての値を持ちます。したがって、4つのボックスすべてに10個の要素があります。

どのようにして各リストに独自の値が設定されるように問題を解決できますか?

+0

回答を投稿してからあなたの投稿を編集していますが、私の回答はまだ有効です。 'new DefaultListModel ();'はループの外側にあるので、すべてのJListオブジェクトの間でモデルの単一のインスタンスを共有しています。 –

答えて

0

以前は、ループを通過するたびにnew JListを作成していました。新しいコードでは、ループを通過するたびにnewモデルを作成していないので、毎回既存のモデルを追加するだけです。

+0

あなたはそうです。どのように私はこれを見ることができませんでした。ありがとう! :) – asgart

+0

このようなことを時々見落とすのは簡単です。お役に立てて嬉しいです :) –

関連する問題