選択した行にTableView行の色をコードする機会はありますか?私はそれのようなものを意味しています。例えば、TableViewはムービーで満たされていて、店頭にいるときは緑色に、特定のムービー(行)は店頭にいるときに赤色に変えたいと思っています。店舗にいるかどうかは、データベースへのクエリを使って簡単な関数を作成することでわかりますが、選択した行の背景色を変更できる関数も必要です。そのようなコードを作る方法はありますか?クリック時の行背景色JavaFX
あなたはの線に沿って何かを行うことができます
0
A
答えて
1
:
TableView<Movie> table = ... ;
PseudoClass outOfStockPseudoClass = PseudoClass.getPseudoClass("out-of-stock");
table.setRowFactory(tv -> {
TableRow<Movie> row = new TableRow<>();
row.selectedProperty().addListener((obs, wasSelected, isNowSelected) -> {
if (isNowSelected) {
boolean outOfStock = checkIfOutOfStock(row.getItem()) ;
row.pseudoClassStateChanged(outOfStockPseudoClass, outOfStock);
}
});
row.itemProperty().addListener((obs, oldMovie, newMovie) -> {
if (row.isSelected()) {
boolean outOfStock = checkIfOutOfStock(newMovie) ;
row.pseudoClassStateChanged(outOfStockPseudoClass, outOfStock);
}
});
return row ;
});
をそして、あなたは映画は、あなたが初期化時に在庫があるかどうかを確認することができます場合は、お使いの外部CSSファイルで
.table-row-cell {
-fx-selection-bar: /* color for in-stock selected row */ ;
}
.table-row-cell:out-of-stock {
-fx-selection-bar: /* color for out-of-stock selected row */;
}
を行いますデータベースからのデータを使用すると、行のファクトリを簡素化できます。
table.setRowFactory(tv -> new TableRow<Movie>() {
@Override
protected void updateItem(Movie item, boolean empty) {
super.updateItem(item, empty);
pseudoClassStateChanged(outOfStockPseudoClass,
item!=null && item.isOutOfStock());
}
});
+0
これはうまくいくかもしれませんが、色は変わっていません:/外部CSSファイルは標準のapplication.cssですか?私は仕事や何かにアプリケーションにリンクする必要がありますか?私は、どういうわけか、pseudoClassを使わずに、ここのようにすることができますか?http://stackoverflow.com/questions/30889732/javafx-tableview-change-row-color-based-on-column-valueそしてyes、tableviewの初期化または私はその映画が在庫にあるかどうか質問照会をしませんリフレッシュ? –
関連する問題
- 1. JavaFXステージの背景色は?
- 2. リンクのクリック時に行の背景色を変更する
- 3. 実行時のAndroidビューの背景色
- 4. 背景色行
- 5. ズーム時の背景色カット
- 6. 移行前:背景(背景色)
- 7. クリック時のTextViewの背景色を変更する
- 8. jQueryのは - クリック時、テーブルセルの変更背景色を
- 9. バインドテーブルビューの行の背景色
- 10. ルビースプレッドシートの行の背景色
- 11. NSOutlineViewの行の背景色
- 12. クリック時に<tr>の背景色を変更する
- 13. クリック時に表の背景色を変更するには
- 14. Vala:TreeVIew + ListStore行の背景色
- 15. dojox.Grid行の背景色
- 16. JavaFXの背景イメージ
- 17. JavaScript:クリック時に背景色を変更する(トグルクラス)
- 18. jquery - クリック時に背景色を変更する
- 19. PhpStorm背景色行番号
- 20. クリック時の背景要素の変更
- 21. クリック時の背景画像の変更
- 22. fadeInクリック時の背景画像
- 23. 実行時にWPFのボタンの背景色を設定する
- 24. CSS:背景色の背景画像
- 25. 背景グラデーションの色と背景イメージDRYly
- 26. 端末の背景色と前景色
- 27. JavaFX ScrollPaneのボーダーと背景
- 28. AlertDialog背景色
- 29. CodenameOne背景色
- 30. UITableViewCell背景色?
https://docs.oracle.com/javase/8/javafx /api/javafx/scene/control/TableCell.html – Mordechai