アイテムのセットをリストビューに配置するプログラムを書いています。次に、データベース内のアイテムが見つかったかどうかを確認します。データベースにアイテムが見つからない場合は、リストビューでそのアイテムの背景を変更したいと思います。このプログラムにはJavaFXを使用しています。
どうすればこれを行うことができますか?
条件をチェックし、各アイテム/セルに適切なcssスタイルクラスを適用するListViewのカスタムセルファクトリを使用できます。
次のコードは、String型のアイテムを含むリストビューでこれを実行する方法を示しています。
listView.setCellFactory(new Callback<ListView<String>, ListCell<String>>(){
@Override
public ListCell<String> call(ListView<String> p) {
ListCell<String> cell = new ListCell<String>(){
@Override
protected void updateItem(String t, boolean bln) {
super.updateItem(t, bln);
if (t != null ) {
setText( t);
if (item_is_not_available){
if (!getStyleClass().contains("mystyleclass") {
getStyleClass().add("mystyleclass");
}
} else {
getStyleClass().remove("mystyleclass");
}
} else {
setText("");
}
}
};
return cell;
}
});
cssファイルでは、の定義は次のmystyleclass
ようになります(赤い背景で使用できないアイテムを表示します)。
.mystyleclass{
-fx-background-color: #ff0000;
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加