2011-12-05 8 views
1

アクティブな行を表示するには、JListコンポーネントで太字の行を作成する必要があります。ユーザがアクティブな行の変更をすぐに見ることを可能にするために、動的に実行する必要があります。これどうやってするの?JListで動的に太字にする方法は?

答えて

5

レンダラのCustomCellRendererを見て、isSelected引数に基づいて表示されるラベルの色を変更することができます。

+2

1例http://stackoverflow.com/a/8344497/714968 – mKorbel

+0

@mKorbel nice link :) +1 – mprabhat

+0

私は 'CustomCellRenderer'を作成し、その中にmothodを作成して太字の行のインデックスを設定しました(レンダラーはどちらを理解できるか太字にする必要があります)私はそれを私のJListに割り当てました。しかし、私は私のメソッド( '((boldCellrenderer)jList1.getCellRenderer())。SetBoldedIndex(boldIndex);')を呼び出すと、別の行をクリックするようなことをするまでビューを更新しません。私はsetterメソッドで 'updateUI()'を呼び出そうとしましたが、これは正しい方法ですか、別のことをするべきですか?ここでは – RYN

2

念のためにあなたが使用することができ、選択した項目の色を変更したい:

list.setSelectionForeground(Color.RED); 

選択した項目の背景を設定するための他の同様のAPIがある:ここ

list.setSelectionBackground(Color.BLUE); 
+0

代替案+1、同じことがUIManagerで定義されています – mKorbel

関連する問題