我想在一个组合框中填充一些数据。这很好。但是,我想动态地改变组合框中的数据。
目前我有一个表,在组合框中,我在表列中显示数据的唯一值。现在,表数据存储在静态可观察列表变量中。我想根据表中显示的数据更改组合框中的数据。也就是说,如果存储表数据的静态可观察列表发生更改,我希望在没有手动干预的情况下更改组合框数据。
如果没有单独的静态变量用于组合框,这是否可能?
嗯,让我们看看,我们有你的TableView数据:
< code >可观察列表
和您的组合框数据:
< code >可观察列表
如果您想将两者链接在一起,最简单的方法是使用FilteredList:
< code >可观察列表
因此,无论何时谓词
或tableData
发生变化,这些变化都将反映在comboboxData
中,无需做任何进一步的操作。您现在只需编写一个能够过滤表数据的谓词,只留下您想要显示的组合框条目。
但是,如果您只想在 ComboBox 中显示表数据
的不同值,那么使用简单的谓词就不那么容易了。这是一种非常丑陋的方法,使用监听器和集来更新 ComboBox 列表:
ObservableList<String> tableData = FXCollections.observableArrayList();
ObservableList<String> comboBoxData = FXCollections.observableArrayList();
tableData.addListener((Observable change) -> {
Set<String> distinct = new HashSet<>(tableData);
comboBoxData.setAll(distinct);
});
当您的表包含大型数据集时,这很可能会导致性能问题,但对于较小的数据集,这应该没问题。
我正在查询Sql Server并返回一个List-我想使用此List作为我的组合框的源。下面是我正在使用的代码,它运行时没有错误,但我的组合框始终为空并且从不填充。这里有什么不正确的? 主要的Java语言 样品fxml
我无法填充从场景生成器创建的JavaFX组合框。虽然我已经搜索过了,但我找不到解决这个错误的方法。 下面的例子都不管用。 帮助将不胜感激。
我有两个组合框: 根据comboBoxMainCategory中选择的值,comboBoxSubCategory应填充相应的枚举。 如果comboBoxMainCategory选择“Europe”,则comboBoxSubCategory应填充SubCategory Europe。如果为“USA”,则带有子类别USA。 你是如何做到这一点的? 这是我的代码: 问题是,因为comboBoxSubCa
我需要关于设置组合框按钮单元格的帮助。我使用一个组合框来显示可观察列表中的数据,该列表包含两个列的表中的数据,“步骤”和“下一步”(下一步包含一个插入在步骤列中的项目);我需要做的是显示带有“步骤”列表的组合框列表单元格和相对的“下一步”按钮单元格。现在,我可以正确地看到列表单元格,但我的按钮单元格总是空的。 代码: 提前感谢。
使用此代码,我初始化了组合框 并使用以下方法获取价值: 并将值插入mysql数据库。现在,在类别组合框中插入下一个值之前,我需要将数据库中的值导入到组合框的下拉列表中,值应该显示在组合框中。
我试图避免将一大堆数字硬编码到我的JavaFX ComboBox中,但我不知道有任何其他方法可以做到这一点。目前我正在这样做: 然而,我的目标是调用一个方法,该方法将生成一个达到某个指定上限(例如50)的数字列表。我尝试了以下方法,但它只是添加了最后一个,而不是全部50: