1

インスタンス化されたオブジェクトの次の配列があるとします。

SomeClass[] items = {new SomeClass("Apples", 1.99f, 0.311f),
new SomeClass("Oranges", 0.99f, 0.396f),
new SomeClass("Bananas",2.99f,2.27f)};

コンストラクターが String name、float price、float weight であるとします。

そこで、JList を作成して JScrollPane に配置します。

itemsList = new JList(items);
ScrollPane itemsListScrollPane = new JScrollPane(itemsList);

SomeClass クラスの toString() メソッドをオーバーライドせずに、スクロール ペインに表示されるものをオーバーライドして、name 属性のみを表示する (および他の属性を破棄する) 方法はありますか。

Apples
Oranges
Bananas

ご不明な点がございましたら、明確にしていただければ幸いです。

ありがとう。

編集: 明確にしたいのですが、たとえば、name 属性の文字列値を返し、JList にそれのみを表示させる getName() と呼ばれる SomeClass 用に作成されたメソッドを使用する方法はありますか?

4

1 に答える 1

3

JList にa を設定ListCellRendererできます。何でもレンダリングしたいものを選択できます。JList に関する公式ドキュメントも参照してください。

于 2012-02-10T21:42:34.737 に答える