0

JListに配列(-s)を追加した後、要素のビューを変更するにはどうすればよいですかListModel。必要:

2.0 11.0 1.0

持つ:

[D@198dfaf

追加する前と..から取得した後に「配列から文字列へ」の変換を使用したくありませんJList。何かアイデアはありますか? ありがとう!

4

2 に答える 2

2

そのためにListCellRendererを使用できます。JList のモデルに入力した値を表すコンポーネントを返すことができます。

デフォルトの CellRenderer はDefaultListCellRendererです。これは基本的に JLabel の拡張であり、すべての適切なルック アンド フィール設定が既に設定されています。そのため、DefaultListCellRenderer を拡張して、返された値に配列テキストを設定できます。

于 2012-05-18T15:23:16.763 に答える
0

レンダラーを変更したり、オーバーライドしたりする代わりにtoString()、リストに追加するオブジェクトのビューアダプターを追加することを検討できます。この簡略化された例に似たもの:

class ArrayListViewAdapter {
    Object[] list;

    public ArrayListViewAdapter(Object[] list){
        this.list = list;
    }

    @Override
    public String toString(){
        return StringUtils.join(list, " ");
    }
}

次に、モデルにアイテムを追加します。

model.addElement(new ArrayListViewAdapter(new Integer[]{1, 2, 3}));
于 2012-05-18T16:49:13.227 に答える