问题标签 [observablelist]

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 回答
98 浏览

java - 基于 JavaFX ObservableList 的元素奇怪的行为

我有一个 JavaFX 应用程序,它有几个基于相同泛型类型的元素(一个 ListView,两个 ChoiceBox'es)。

我用一个obs填满它们。列表:

问题是,当您将一个元素添加到一个元素(例如部门列表)时

,它也会自动添加到选择框中,并且您会在列表视图和两个选择框中获得 3 个重复的项目。为什么会这样?我试着看obs。列出文档,但没有找到任何相关内容,还搜索了stackoverflow。我尝试将 equals/hashCode 方法添加到 Employee 类,但看起来它不会影响它。

更奇怪的是,有时同步会停止工作。就像,它在您上次启动它时工作,但今天您根本看不到添加到选择框中的项目(如果您仅将元素添加到元素之一以防止重复)。因此,您尝试修改您的代码并尝试将元素添加到选择框,如果它们由于某种原因今天没有同步。接下来,您启动应用程序并再次看到 3 个重复项。您还原了代码,现在您的应用程序就像昨天一样工作。这听起来很奇怪,但它是这样工作的。

所以,问题是为什么这种情况会随机发生/不会发生,以及如何禁用/启用它以确保它在下次启动时能按预期工作?

0 投票
0 回答
183 浏览

java - CheckBoxTableCell 的 javafx ActionListener

我在这里尝试了这个问题的两种解决方案:JavaFX: CheckBoxTableCell get ActionEvent when user checka checkBox

第一个解决方案对我不起作用,但至少我的 IDE 已编译。第二个解决方案告诉我:

类型不匹配:无法转换 ObservableList<new Callback<TaskControl,Observable[]>(){}>ObservableList<TaskControl>

我的 TaskControl.getIsDone() 函数:

如果我能编译那部分,那就太好了,这样我就可以继续了。

谢谢。

0 投票
1 回答
206 浏览

java - 由于 ArrayList,主构造函数中的 JavaFX 异常

我是 JavaFx 编程新手,现在在我的初始阶段,我正在 javaFX 中构建一个地址簿,但问题是它在 Main Class 的构造函数中引发异常。当我使用ObserverableList时,我没有得到任何类型的异常,而当我尝试使用数组来存储实体对象时,我得到了异常。谁能给我一个解决这个问题的方法?我要做的主要事情是 ObserverableListArrayList对象保存到文件中。

例外



0 投票
1 回答
11071 浏览

java - 如何序列化 ObservableList

我正在开发一个javaFx项目,我们必须使用它ObservableList来添加 Listner。ObservableList包括人物模型。但我想通过序列化将整个对象存储ObservableList在一个文件中。但它给了我一个 Exception。我还对对象模型进行了序列化,但没有运气。有什么方法可以序列化ObservableList吗?

员工模型

序列化

例外

0 投票
1 回答
464 浏览

listview - 如何使用 JavaFX ListView 处理复杂数据?

我有一个ObservableList<Person>, 其中 aPersonfirstNamelastName属性(以适当的 JavaFX 方式),我想做一个ListView显示人名并反映列表和列表中各个Person对象的属性的更改。这怎么做最好?有两个问题:

  1. 我们需要ListView观察两个名称属性,以便它可以刷新更改。此答案中解释了一种方法(另请参阅此答案)。但是,此解决方案需要将“提取器”传递给 的构造函数ObservableList,并且我的列表已经存在(作为更大数据模型的一部分)。有人会认为有一种方法可以包装现有的ObservableList以添加提取器,但我在 API 中看不到它。(嗯,有这个方法,但是它将被包装的列表简单地视为 aList而不是 a ObservableList,因此不会报告对原始列表的更新。还有这个方法可以创建一个“同步”包装器ObservableList,但它不包含提取器参数。)也许我应该只实现一种方法来包装自己?

  2. 我们需要Person渲染ListView. 我知道如何使用自定义ListCell类来做到这一点,但我希望可能有一种更简单的方法,因为我只显示字符串。依赖Person.toString不是正确的做法,因为我可能有其他观点Person需要对 to 进行不同的Person转换String。有没有办法通过ListView<Person>a Callback<Person,String>(或等效的东西)将项目转换为字符串?

所以,最后,我确实有办法做我想做的事:在 1 中编写我自己的包装器并在 2 中使用自定义单元工厂。我只是觉得这需要我做的工作比我应该做的更多。 d认为是一种比较普遍的情况。有没有我想念的更简单的方法?

0 投票
1 回答
237 浏览

javafx - 如何在 tableview 中收听 INTERNAL 更改?

我有一个 TableView 其项目包含复选框。选中 2 个复选框后,我需要“取消隐藏”一个按钮。

我不知道如何检查。你有办法吗?

  • 这些项目彼此不认识。
  • TableView-Controller 包含 TableView 和 TableColumns。

据我所知,您不能在这里使用绑定,因为您不能将自己绑定到多个属性。我很高兴得到各种帮助。:)

编辑:澄清自己: tableView.getItems().addListener() 将不起作用,因为它只能听对列表的修改,而不是对外部元素的修改。它可以注意到是否调用了“add()”或“remove”,但据我所知基本上就是这样。

PS:在单独的线程中忙等待当然不是解决方案。

0 投票
1 回答
469 浏览

java - JavaFx ObservableSet 适配器

我有一个 JavaFx 客户端。我使用具有 ObservableSet 作为字段的 bean 作为模型。我想将这些数据显示到 ListView 中,但我无法将我的字段类型更改为 ObservableList。

我认为我应该编写一种适配器,以使我的 ObservableSet 适应 ObservableList(因为 ListView 需要它)。

使用 ObservableList 的代码是:

我需要以相同的方式设置项目,因为数据列表来自服务器的延迟,所以我需要在数据到达时更新 UI。

有人能给我一些关于如何实现这种适配器的想法吗?

0 投票
1 回答
165 浏览

javafx - 创建自定义列后创建行

我正在使用 javafx 创建记分牌。
我的程序有一个表,其中一列是游戏 ID。当您按下新游戏时,您最多可以添加 10 名玩家。输入球员姓名并按下按钮将球员添加到表格列中。我在下面提供了图片,以便您更清楚地了解。

添加玩家

玩家添加到列后

这是我卡住的地方。我需要在行上添加每场比赛的分数。因为我根据玩家的数量生成自定义数量(2-10)的列。我无法使用此代码,因为我不知道 Score Class 中的 score 构造函数需要多少参数。

如果添加了 3 个玩家,有没有办法在 score 类中创建 3 个 int 参数?或者我可以用不同的方式来解决这个问题吗?另一种选择可能是在下面添加随机数,然后将行动态编辑为真实分数,但是程序又一次不知道有多少列,所以这也很难。

我认为它的外观示例:

PS:有没有办法对列求和并显示总分。我希望总和在最后一行,所以即使我添加一个带有分数的新行,总和也会出现在该行下方。

用于将玩家从文本字段添加到列的代码:

0 投票
0 回答
59 浏览

java - 没有任何按钮从 TableView 中删除特定数据?

我一直在为我的主要项目做套接字编程。所以在阅读了很多这里和其他博客之后,我设法制作了一个 TableView。但问题是我对 TableView 的 api 不太熟悉,所以这对我来说有点问题。

这是初始化的一部分

这是我的宣言

现在我想要的是,如果建立了连接(当然会), client_handlersock作为参数调用。现在我想将此袜子作为 IP 地址添加到我的 TableView 中。但我不知道该怎么做。?此外,当连接从另一端断开时,

我如何删除对象,就像我试图做的那样,但没有运气。! 稍后我想通过流将整个列表发送到其他客户端。那么如何遍历我的 TableView 的每一行显然只有 1 列。我希望它这次不会生病。:p我知道 ObservableList<> 与 ArrayList 不同,但是这个项目,我试图从 Swings 移植它,所以 jTable 与 ArrayList 配合得很好。thiscatch(Exception e)




0 投票
1 回答
3722 浏览

arraylist - Javafx tableview 项目防止重复

我正在使用带有 observableList 列表的 javafx tableview,我试图防止列表包含重复项。在做了一些搜索之后,我发现 observableSet 可以通过覆盖方法来完成这项工作:equals() 和 hashcode()。

但是javaFX tableview不能保持可观察集的问题:

我还计划为我的表格视图中的列计算一些,所以我需要

我真的很困惑正确的方法来做到这一点。所以,我需要你的提示