我最近开始用JavaFX(jdk 1.8.0_66)编程一个应用程序。我有几个表(视图),其中之一应该是关于所有'订阅'对象的概述。因此,我创建了表视图,并用一个可观察的列表填充它:
TableView subsTable = new TableView(SubscriptionAdmin.getObservableSubList());
例如,我的桌子有点像这样:
Subscription | Participants
Netflix | 4
Whatever | 8
TableColumn<Subscription,String> nameCol = new TableColumn("Subscription");
nameCol.setCellValueFactory(new PropertyValueFactory("name"));
TableColumn<Subscription, Integer> partCol = new TableColumn("Participants");
partCol.setCellValueFactory(
cellData -> new ReadOnlyObjectWrapper<>(cellData.getValue().getParticipants().size())
);
现在,每当我向列表中添加参与者时,相应单元格中的数字应该增加一个,但不会增加——除非我重新启动应用程序。希望你们中有人能帮助我/解释我有什么问题。
问题在于,表格(或者更确切地说,是单元格)无法知道数据的变化。如果getParticipants
返回一个ObservableList
,最好的解决方案是创建一个与其“大小”相关的绑定-
partCol.setCellValueFactory(
cellData -> Bindings.size(cellData.getValue().getParticipants())
);
如果它不是观测列表
,您可以考虑将其更改为一个(毕竟-您希望在显示更改时更新显示)。否则,每当更改列表大小时,都必须手动更新表。
编辑:您可能需要添加。asObject()
绑定调用,或者将列的类型更改为Number
,而不是Integer
。请看这个问题进行讨论。
我有一个jtable保存账本文件记录并将它们发送出去。
我在更新JTable的单元格值时遇到了一个问题。我想做的是在从JTable中选择一个特定的单元格之后,我应该能够进行编辑,并且该操作必须反映后端的数据库。我在用HSQL。我的表有4列,有一个PK。请给我一个替代和/或提供一些代码,替换的*。我是新来的,只是个初学者。
问题内容: 我的折扣列有一个自动完成功能,其值来自另一个json变量。 这是我的json数组,折扣数据来自此数组。 What I would like to do is (1)更改折扣值后,“ 费用”列应 根据此公式进行更改 值0.145来自json的id列。 (2)在更改折价后,ExtCost列应 据此更改。 数量是最左侧的单元格。 这是我的网格相关代码。 问题答案: 您没有提供有效的演示,但希
我有一个很大的
有人能帮忙吗?我有一个现有代码,该代码当前根据V列中的单元格值(上诉记录)将整行数据从一张表(质量日志)复制到另一张表(上诉日志)。 之前,它已经从原始(质量日志)表中删除了该行,但我现在希望更改代码,以便将单元格值更改为(正在上诉),然后将其移动到下一页(上诉日志)。 请参阅下面我的代码。我已用**表示我试图更改代码
问题内容: 我正在尝试用Java编写程序来管理我的Bookie帐户。我是java的新手,所以我认为我会选择一些简单的方法来了解事情的原理。我决定使用表格视图并使各个单元格可编辑。我一直在关注本教程http://java- buddy.blogspot.co.uk/2012/04/javafx-2-editable-tableview.html 。它详细说明了如何使用Java代码执行此操作,并将其复