【发布时间】:2018-04-06 10:51:55
【问题描述】:
我正在收集实时数据库存,一切工作顺利,实时更新变化。我不是 JavaFX 方面的专家,我浏览了文档,但仍然不太适应。
总之长话短说,我想做的是:根据条件(不值得一提或代码发布)更改某些单元格的样式(行和列的交集)。
我有:
- 类
Stock具有属性variation - 可观察列表
ObservableList<Stock> myStocksObservableList包含我愿意显示的数据 - TableView
myStockTable声明为TableView<Stock> myStockTable; - 一组以
_variation作为我感兴趣的列的TableColumns
代码(前端):
声明:
@FXML
private TableView<Stock> mystockTable;
@FXML
private TableColumn<Stock, String> _symbol;
@FXML
private TableColumn<Stock, Float> _open;
@FXML
private TableColumn<Stock, Float> _high;
@FXML
private TableColumn<Stock, Float> _low;
@FXML
private TableColumn<Stock, Float> _close;
@FXML
private TableColumn<Stock, Long> _volume;
@FXML
private TableColumn<Stock, Float> _variation;
@FXML
private TableColumn<Stock, String> _comment;
@FXML
private ObservableList<Stock> myStocksObservableList;
初始化(假设myStocksObservableList 已经填充了
Stock 的列表:
_symbol.setCellValueFactory(new PropertyValueFactory<>("symbol"));
_open.setCellValueFactory(new PropertyValueFactory<>("open"));
_high.setCellValueFactory(new PropertyValueFactory<>("high"));
_low.setCellValueFactory(new PropertyValueFactory<>("low"));
_close.setCellValueFactory(new PropertyValueFactory<>("close"));
_volume.setCellValueFactory(new PropertyValueFactory<>("volume"));
_variation.setCellValueFactory(new PropertyValueFactory<>("variation"));
_comment.setCellValueFactory(new PropertyValueFactory<>("comment"));
mystockTable.setItems(myStocksObservableList);
如何添加侦听器或任何此类技巧来检查特定的 TableCell 值,该值将是列 _variation 和我指定的行的交集,然后相应地更改其样式? p>
我们将不胜感激任何解决方案,以及任何建议!
【问题讨论】:
-
“获取”一个单元格不是要走的路,因为单元格被重复用于不同的行项目。了解条件对于推荐一种存储单元格是否应该设置样式的信息的方法很有用。此外,了解 CSS 是否足以为单元格设置样式会很有用。
-
CSS 就足够了。问题是我可以从特定的行和列中获取一个单元格吗?如果我可以在我的界面中获得一个特定的节点,我可以按照我希望的方式为其设置样式。