问题标签 [javafx-tableview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
170 浏览

javafx - Javafx TableCell 开始编辑时,显示旧值

我已经扩展了这个TableCell类来呈现一个日期选择器。它的图形是javafx.scene.control.DatePicker. 我不得不做一些onKeyPressed处理来处理制表符、输入和转义,以及一些其他的自定义,以试图TableCell让它以一种理智的方式行事。现在,当我第一次选择已经包含值的单元格时,会DatePicker显示,但它是空白的。看起来startEdit正在被调用,但这并没有提供放入DatePicker. (https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/TableCell.html

如何使单元格的旧值在DatePicker它首次出现时出现?

0 投票
1 回答
43 浏览

java - 如何获取标签以将其值添加到 javafx 表视图中的整数字段或列

这是代码

以下是其余代码:InvoiceEntry.java

FXMLCONTROLLER.java

这是一个更新“如何获取标签以将其值添加到 javafx 中表视图中的整数字段或列”。请问我该如何解决这个问题?

0 投票
1 回答
1224 浏览

java - JavaFX TableView:未反映项目列表中的快速变化

很难解释,所以我举个例子:

在这个例子中,我展示了TableView一个名为“Name”的单列。运行此示例代码,您将获得两行:第一行在“名称”列中带有“Hello”;第二行在“名称”列中带有“世界”。

此外,还有一个按钮,该按钮Person从列表中删除第一个对象,然后对该对象进行一些更改,然后将其添加回相同的索引处。这样做会导致任何ListChangeListener添加到的ObservableList被触发,我已经测试这是真的。

我希望将带有“Hello”的行替换为“Bye”,但似乎TableView继续显示“Hello”。如果我TimeLine在将删除的对象添加回列表之前使用 a 添加延迟Person,它将更改为“Bye”。

API有什么奇怪的地方吗?有没有办法在没有这个问题的情况下做到这一点?

0 投票
1 回答
2320 浏览

java - JavaFX,如果有人在 Tableview 中选中 CheckBox,我如何触发事件

我在 JavaFX 中有一个大问题。我创建了一个 TableView,并在 TableView 中添加了一些 CheckBoxes。如果有人选中 TableView 中的复选框,我想触发一个事件。我尝试了一些不同的方法,但我总是遇到同样的问题。我启动程序,“复选框触发事件”在显示 GUI 之前运行了五次。之后,我可以单击复选框,但什么也没发生。这是我的代码,我希望你能帮助我。谢谢!

控制器类

交通量类

控制台输出

0 投票
0 回答
185 浏览

java - 将 Javafx TableView 转换为二维数组

我正在一个项目中创建一个看起来像这样的 javafx tableView: JavaFX TableView - Conditions -> Modes

我想从表中取出所有元素并将它们变成一个二维数组,如下所示:[[A-> C],[B->D]]。

0 投票
0 回答
371 浏览

javafx-tableview - JavaFx 表视图内存泄漏

我在JavaFx 2x中创建了表视图,它有超过 10K 行,每行有 20 列,每当表视图加载 Java 堆时,旧代内存都在增加,并且没有释放。在加载同一张表 2-3 次后(刷新按钮和每次加载表之前清除所有下面提到的引用)。我的应用程序冻结或进入无响应状态,我尝试让所有选项清除内存中的引用,但没有运气

我在这个论坛看到一些帖子建议升级到java8,但我的客户不愿意升级

是否有任何可能的解决方案来释放内存...?

MAT分析低于 MAT分析报告

谢谢

0 投票
1 回答
1141 浏览

java - JavaFX TableView为相同的数据添加额外的列

我有一个小应用程序。使用这个应用程序,我可以将新的员工记录添加到 MySQL 数据库,然后显示这些记录。buildData()从数据库中检索数据并将其显示在 TableView 中,每次添加新记录以“刷新”TableView 时,我也会调用此方法。然而,这并不像预期的那样表现。

这是添加第一条记录后的视图:

在此处输入图像描述

当我点击按钮添加另一条记录时,这就是我得到的:

在此处输入图像描述

如果我关闭应用程序并重新打开它,TableView 是正常的:

在此处输入图像描述

这就是buildData()方法的样子(方法忽略了类型检查和所有这些。可能是原因?)

然后是向数据库添加新员工记录的方法:

最后是 Employee 类:

我正在使用纯 java,没有 FXML。我已经搜索过解决方案,但没有可用的解决方案(据我所知)。任何指针?

0 投票
1 回答
311 浏览

java - 使用 tableview 的正确方法是什么?

一段时间以来,我一直试图让我的 tableview 工作作为一种由后台线程更新的电子表格,当单元格更新时,它会在几秒钟内高亮显示(更改样式),然后返回原始样式。我已经知道,我不能直接在表格单元格中存储和设置样式,我需要某种支持类来保存这些数据。但是 tableview 及其“重用”单元格(对不同的数据使用相同的单元格)的行为真的很奇怪。当所有单元格都适合屏幕时,它对我来说完美无缺,但是一旦我放置了大约 100 个单元格并且它变得可滚动,它就开始出现问题,有时样式(或设置的图形)会消失并且在滚动出现后,如果我禁用了一些顶部单元格的视图,滚动后的其他一些单元格也会被禁用,依此类推。有什么正确的方法可以做到这一点吗?

我需要的基本上是

正如我现在所拥有的那样,我有一个模型类,它包含数据、样式和对表格单元格的引用(我禁用了排序,所以应该没问题),后台线程更新模型类中的数据,并且该模型类改变了样式在引用的单元格上并在“样式移除器”线程中注册自身,然后删除样式。

我认为发布我的实际代码不会有用,因为一旦我发现单元格正在被重用,我的代码就变得太复杂并且有点不可读,所以我想以正确的方式完全重做。

性能对我来说不是那么重要,不会有超过 100 个单元格,但是在 tableview 中突出显示和具有按钮必须完美无缺。

这就是我的应用程序现在的样子 - 了解我需要什么。 在此处输入图像描述

编辑:这是我与此相关的另一个问题的链接。

0 投票
1 回答
367 浏览

javafx-8 - JavaFX 8 TableView 未从 ObservableList 填充(无 FXML)

我相信我已经搜索了所有类似的问题,但仍然没有在任何地方看到我的问题。我正在ObservableList从根据我的控制台输出成功的数据库中填充一个。我为学校项目设置了多个控制器来创建调度程序应用程序。我有一个用作borderPane 的根控制器、两个用于约会和客户的功能控制器,它们都是单例的,以及一个不允许每个视图实例化自己的DataView 的共享DataView 控制器。我已经toString在每个控制器上实现了吐出每个元素的值和/或对象 ID 是什么,并且一切似乎都排成一行。我一生都无法弄清楚为什么ListViewTableView不输出绑定数据。这是我的视图数据ListViewTableView

这是 AppViewController:

和约会视图:

以及我试图操纵的基本 DataViewController:

如前所述,我进行了一些 toString 调用和实现,并且我一直在 DataViewController 中看到这些对象:

这是调用它的 MainApp 方法:

我已经设置了 CellValueFactories 等。我在这里想念什么?

这是 UI 的显示方式:
应用程序视图的图像

0 投票
2 回答
1100 浏览

javafx - JavaFX 根据复选框状态禁用 TableColumn

我希望仅在选中复选框时才TableColumn<CustomObject, String> tableColumn基于字段值禁用 a。我可以禁用里面的文本框但是不确定如何检查里面的复选框的状态 下面是相关的代码片段,如果有人能阐明这一点,我将不胜感激CustomObjectTableColumn<CustomObject, Boolean> tableColumnTwopublic void updateItem(String s, boolean empty)updateItem