<AI>
JavaFXのListViewで指定行の色を変えるには、
setCellFactoryメソッドを使用してセルの生成処理をオーバーライドし、条件に応じて背景色(CSSスタイル)を適用します。
実装例(条件に応じて指定行の色を変更する)
特定の値やインデックス(例:3行目)の背景色を黄色、文字色を赤色に変更する具体的なJavaコードは以下の通りです。
java
// ... (前述のサンプルコード)
listView.setCellFactory(param -> new ListCell() {
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText(null);
setStyle("");
} else {
setText(item);
// 3行目(インデックス2)のスタイルを変更
if (getIndex() == 2) {
setStyle("-fx-background-color: yellow; -fx-text-fill: red;");
} else {
setStyle(""); // デフォルトに戻す
}
}
}
});
// ...
ポイント
・setCellFactory: セルの描画処理をカスタマイズします。
・getIndex(): セルの行番号(0始まり)を取得し、条件分岐に使用します。
・setStyle(): -fx-background-color 等でスタイルを指定します。
データ内容に基づく変更も可能です。
詳細は Oracle公式ドキュメント を参照してください。