どのように私は選択されていないJListの項目の背景色を変更できますか?

TheAlexGamer:

Heyy。私は、非ホワイトリストファイルを削除するJavaでツールを書いています。聞かないでください。これは、JFileChooserの持つユーザが選択することをディレクトリが一覧表示されます。これがうまく機能し、すべてのファイル名は、(JScrollPaneの内部私の場合)JListの中でlistetであり、フレームの内側を表示しました。

今私は、.TXTファイルからファイル名を読み、彼らは、リスト内の名前と一致するかどうかを確認します。読書と比較することは問題ありません。しかし、私は、ファイルが.txtファイル内のファイルのいずれかに一致する場合は緑色の背景を設定したいと思います。そうでない場合、表示された項目の背景が赤色でなければなりません。そのことさえ可能ならどのように私は、1ライン分のこれらの背景を変更できますか?

アレックB.:

シンプルで、使用してJListのにカスタムListCellRendererを設定します。

list.setCellRenderer(myListCellrenderer);

今オーバーライドされたメソッドgetListCellRendererComponent()内のこのような何かを実行します。

public Component getListCellRendererComponent(.....) {
    Component c = super.getListCellRendererComponent();
    c.setBackGround(Color.blue)
    return c;
}

ロジックを使用すると、背景を設定し、緑などの行(ファイル名が等しい場合)、あなたはまた、行のバッキングオブジェクトの状態を設定するオプションを持っているとgetListCellRendererComponent()内にその状態のためにそれをテストを示すべきであると判断した場合状態が正しいかどう緑。ここでも、あなたはスイングを設定するオプション持つTimerバッキングオブジェクトに状態を元に戻すことを。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=231019&siteId=1