问题标签 [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.
java - 基于 JavaFX ObservableList 的元素奇怪的行为
我有一个 JavaFX 应用程序,它有几个基于相同泛型类型的元素(一个 ListView,两个 ChoiceBox'es)。
我用一个obs填满它们。列表:
问题是,当您将一个元素添加到一个元素(例如部门列表)时
,它也会自动添加到选择框中,并且您会在列表视图和两个选择框中获得 3 个重复的项目。为什么会这样?我试着看obs。列出文档,但没有找到任何相关内容,还搜索了stackoverflow。我尝试将 equals/hashCode 方法添加到 Employee 类,但看起来它不会影响它。
更奇怪的是,有时同步会停止工作。就像,它在您上次启动它时工作,但今天您根本看不到添加到选择框中的项目(如果您仅将元素添加到元素之一以防止重复)。因此,您尝试修改您的代码并尝试将元素添加到选择框,如果它们由于某种原因今天没有同步。接下来,您启动应用程序并再次看到 3 个重复项。您还原了代码,现在您的应用程序就像昨天一样工作。这听起来很奇怪,但它是这样工作的。
所以,问题是为什么这种情况会随机发生/不会发生,以及如何禁用/启用它以确保它在下次启动时能按预期工作?
java - CheckBoxTableCell 的 javafx ActionListener
我在这里尝试了这个问题的两种解决方案:JavaFX: CheckBoxTableCell get ActionEvent when user checka checkBox
第一个解决方案对我不起作用,但至少我的 IDE 已编译。第二个解决方案告诉我:
类型不匹配:无法转换
ObservableList<new Callback<TaskControl,Observable[]>(){}>
为ObservableList<TaskControl>
我的 TaskControl.getIsDone() 函数:
如果我能编译那部分,那就太好了,这样我就可以继续了。
谢谢。
java - 由于 ArrayList,主构造函数中的 JavaFX 异常
我是 JavaFx 编程新手,现在在我的初始阶段,我正在 javaFX 中构建一个地址簿,但问题是它在 Main Class 的构造函数中引发异常。当我使用ObserverableList时,我没有得到任何类型的异常,而当我尝试使用数组来存储实体对象时,我得到了异常。谁能给我一个解决这个问题的方法?我要做的主要事情是将 ObserverableList或ArrayList对象保存到文件中。
例外
java - 如何序列化 ObservableList
我正在开发一个javaFx项目,我们必须使用它ObservableList
来添加 Listner。ObservableList
包括人物模型。但我想通过序列化将整个对象存储ObservableList
在一个文件中。但它给了我一个 Exception。我还对对象模型进行了序列化,但没有运气。有什么方法可以序列化ObservableList吗?
员工模型
序列化
例外
listview - 如何使用 JavaFX ListView 处理复杂数据?
我有一个ObservableList<Person>
, 其中 aPerson
有firstName
和lastName
属性(以适当的 JavaFX 方式),我想做一个ListView
显示人名并反映列表和列表中各个Person
对象的属性的更改。这怎么做最好?有两个问题:
我们需要
ListView
观察两个名称属性,以便它可以刷新更改。此答案中解释了一种方法(另请参阅此答案)。但是,此解决方案需要将“提取器”传递给 的构造函数ObservableList
,并且我的列表已经存在(作为更大数据模型的一部分)。有人会认为有一种方法可以包装现有的ObservableList
以添加提取器,但我在 API 中看不到它。(嗯,有这个方法,但是它将被包装的列表简单地视为 aList
而不是 aObservableList
,因此不会报告对原始列表的更新。还有这个方法可以创建一个“同步”包装器ObservableList
,但它不包含提取器参数。)也许我应该只实现一种方法来包装自己?我们需要
Person
渲染ListView
. 我知道如何使用自定义ListCell
类来做到这一点,但我希望可能有一种更简单的方法,因为我只显示字符串。依赖Person.toString
不是正确的做法,因为我可能有其他观点Person
需要对 to 进行不同的Person
转换String
。有没有办法通过ListView<Person>
aCallback<Person,String>
(或等效的东西)将项目转换为字符串?
所以,最后,我确实有办法做我想做的事:在 1 中编写我自己的包装器并在 2 中使用自定义单元工厂。我只是觉得这需要我做的工作比我应该做的更多。 d认为是一种比较普遍的情况。有没有我想念的更简单的方法?
javafx - 如何在 tableview 中收听 INTERNAL 更改?
我有一个 TableView 其项目包含复选框。选中 2 个复选框后,我需要“取消隐藏”一个按钮。
我不知道如何检查。你有办法吗?
- 这些项目彼此不认识。
- TableView-Controller 包含 TableView 和 TableColumns。
据我所知,您不能在这里使用绑定,因为您不能将自己绑定到多个属性。我很高兴得到各种帮助。:)
编辑:澄清自己: tableView.getItems().addListener() 将不起作用,因为它只能听对列表的修改,而不是对外部元素的修改。它可以注意到是否调用了“add()”或“remove”,但据我所知基本上就是这样。
PS:在单独的线程中忙等待当然不是解决方案。
java - JavaFx ObservableSet 适配器
我有一个 JavaFx 客户端。我使用具有 ObservableSet 作为字段的 bean 作为模型。我想将这些数据显示到 ListView 中,但我无法将我的字段类型更改为 ObservableList。
我认为我应该编写一种适配器,以使我的 ObservableSet 适应 ObservableList(因为 ListView 需要它)。
使用 ObservableList 的代码是:
我需要以相同的方式设置项目,因为数据列表来自服务器的延迟,所以我需要在数据到达时更新 UI。
有人能给我一些关于如何实现这种适配器的想法吗?
javafx - 创建自定义列后创建行
我正在使用 javafx 创建记分牌。
我的程序有一个表,其中一列是游戏 ID。当您按下新游戏时,您最多可以添加 10 名玩家。输入球员姓名并按下按钮将球员添加到表格列中。我在下面提供了图片,以便您更清楚地了解。
这是我卡住的地方。我需要在行上添加每场比赛的分数。因为我根据玩家的数量生成自定义数量(2-10)的列。我无法使用此代码,因为我不知道 Score Class 中的 score 构造函数需要多少参数。
如果添加了 3 个玩家,有没有办法在 score 类中创建 3 个 int 参数?或者我可以用不同的方式来解决这个问题吗?另一种选择可能是在下面添加随机数,然后将行动态编辑为真实分数,但是程序又一次不知道有多少列,所以这也很难。
我认为它的外观示例:
PS:有没有办法对列求和并显示总分。我希望总和在最后一行,所以即使我添加一个带有分数的新行,总和也会出现在该行下方。
用于将玩家从文本字段添加到列的代码:
java - 没有任何按钮从 TableView 中删除特定数据?
我一直在为我的主要项目做套接字编程。所以在阅读了很多这里和其他博客之后,我设法制作了一个 TableView。但问题是我对 TableView 的 api 不太熟悉,所以这对我来说有点问题。
这是初始化的一部分
这是我的宣言
现在我想要的是,如果建立了连接(当然会),
client_handler
将sock
作为参数调用。现在我想将此袜子作为 IP 地址添加到我的 TableView 中。但我不知道该怎么做。?此外,当连接从另一端断开时,
我如何删除对象,就像我试图做的那样,但没有运气。!
稍后我想通过流将整个列表发送到其他客户端。那么如何遍历我的 TableView 的每一行显然只有 1 列。我希望它这次不会生病。:p我知道 ObservableList<> 与 ArrayList 不同,但是这个项目,我试图从 Swings 移植它,所以 jTable 与 ArrayList 配合得很好。this
catch(Exception e)
arraylist - Javafx tableview 项目防止重复
我正在使用带有 observableList 列表的 javafx tableview,我试图防止列表包含重复项。在做了一些搜索之后,我发现 observableSet 可以通过覆盖方法来完成这项工作:equals() 和 hashcode()。
但是javaFX tableview不能保持可观察集的问题:
我还计划为我的表格视图中的列计算一些,所以我需要
我真的很困惑正确的方法来做到这一点。所以,我需要你的提示