问题标签 [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 投票
2 回答
5494 浏览

javafx-2 - 带有自定义项目的 JavaFx 2 ChoiceBox

我有一门课,例如:

我想知道是否有可能

谢谢

PS我想有类似的情况

使用 JavaFX 2 渲染 POJO

但使用选择框

编辑:

这是我的情况:我有一个 tableView,在它的一个列中,我必须使用 toString() 方法从 myClass 类型的对象设置一个 String。

我曾尝试使用这些方法(其中 myClass --> CustomInternalWindow 类)

但我无法显示 windowsPlotted 列表中的字符串

更新:我仍在努力解决这个问题,非常感谢任何帮助或建议。

0 投票
1 回答
7445 浏览

java - 以 ObservableList 为值的 JavaFX TableColumn

在 myTableView中,其中一个TableColumn值是ObservableList. 为了简化事情,它只包含StringProperty值。在列的单元格值工厂中,我使用Bindings类将值连接在一起。

我想要的结果应该是StringExpression在更改时更新ObservableList

我遇到的问题是,当列表的任何值发生更改时,生成的StringExpression更新会正确,但是当我向列表添加或删除值时,它不会更新。

我的第一个想法是ListChangeListener在行中添加一个,但这似乎不切实际,因为表中可能有数十或数百行。

我知道“为什么”它不起作用。StringExpression链接到列表的值StringProperty而不是列表本身。因此,每当我添加/删除值时,它都不会更新。

但是,当我删除值(删除第一个索引)时,这会导致StringExpression重新评估自身(我猜?),在这种情况下会出现新添加/删除的值。(按删除然后更改)

简单地添加值并不能解决问题。(按添加然后更改)

那么,在单元格值工厂回调中,我如何使用我的代码来监听ObservableList并返回一个ObservableValue可以连接列表并在发生更改时显示的内容,包括添加/删除?

0 投票
1 回答
7684 浏览

combobox - JavaFX ComboBox 设置来自 ObservableList 的项目

我需要帮助才能从 ObservableList 中获取指定的项目列表并将它们添加到组合框中。

我的 ObservableList 包含从 DB 接收的值(特别是只有 3 列的表),我想在组合框中只显示一个列值。选择组合框时,其他值将计入 2 个文本字段。

代码如下。

ImportAccettazioniModel:

ImportAccettazioniController:

现在,逻辑似乎有效,但我的组合框不包含值 nomeProperty()。

我该如何解决?

提前致谢

0 投票
1 回答
1693 浏览

java - Java 创建动态 ObservableList

是否可以创建具有相对 StringProperty 的动态 ObservableList?

例如,使用下面的代码,如何动态重新创建它并在必要时添加新的 StringProperty?

0 投票
3 回答
1992 浏览

java - JavaFX ObservableList 防止自动选择

我有一个使用 JavaFX 的应用程序。它包含一个 ListView(它使用一个 ObservableList)。我添加了一个 ChangeListener 使用

它工作正常。每次我选择其他项目时,都会调用侦听器。

但是当我从 ObservableList 中删除一个元素时也会调用它。移除元素后,会自动选择列表中的另一个元素并调用侦听器。

我怎样才能防止这种行为?

谢谢!

0 投票
2 回答
1404 浏览

transactions - 具有事务支持的 JavaFX TableView

我确信拥有由数据库支持的 tableview 是一种常见的编程范例(在我们的例子中,JPA 2 使用 EclipseLink)。但事实证明,让 UI 正确是非常困难的。我对现代 UI 设计没有太多经验,我敢肯定这会导致我错过一个明显的解决方案。

我们的表应该允许用户插入、删除、进行更改,然后保存或丢弃更改集。需要验证插入和更改。我们目前通过提交更改、失败时回滚并重播数据库的一组更改(失败的更改除外)并保持 UI 不变,以便用户无需重新键入所有内容即可修复错误。

我们的 TableView 由从 JPA 源获得的数据的 ObservableList 支持。插入和删除非常简单。我们可以使用列表上的更改侦听器获取有关已添加到列表或删除的信息。但是,我还没有想出一种可靠的方法来检测对现有项目的更改。

当前的设计是由其他人完成的一项黑客工作,必须重新架构,这取决于 TableRow 焦点更改侦听器,但它非常不可靠。监视表更改、验证每个更改以及在更改无效时回滚数据库更改并将可见更改重新应用到表的常用方法是什么?

现有的示例应用程序会很棒,但我还没有找到任何支持事务的可用应用程序。除此之外,模型图将非常有帮助。

0 投票
2 回答
80674 浏览

java - JavaFX,将 ArrayList 转换为 ObservableList

ArrayList有没有办法投到ObservableList?我想在不迭代的情况下做到这一点ArrayList

更具体地说,我正在使用 ORMLite 从数据库中获取数据,并且我需要ObservableList作为从数据库中获取数据的方法的输出。

目前我正在做这样的事情:

我想做这样的事情:

0 投票
1 回答
2194 浏览

java - 可观察列表投射/转换

我对 Java 还很陌生,并且正在努力让我的头脑围绕 ObservableList。

我有一个 WebHistory.Entry 类型的可观察列表(来自 WebView/WebEngine。)我想要一个字符串类型的可观察列表,它只包含原始 ObservableList 中每个项目的 URL。(WebHistory.Entry.getUrl())。这样我就可以将它传递给 ComboBox(字符串类型)。几乎就像另一个列表顶部的包装器。

有没有什么简单的方法可以创建一个比像这样遍历列表更优雅的可观察列表:

关于如何接近它的任何提示?

谢谢!

0 投票
1 回答
2243 浏览

java - 使用带有 JavaFX 集合的 Java 泛型接口的编译器错误

我正在尝试使用带有 JavaFX ListView 的接口,以允许在应用程序的不同点的列表中显示多个对象类型(不同 GUI 屏幕上的不同对象类型。我在我的 JavaFX 控制器类中将 ListView 定义为:

并且ListDisplayObj是一个简单的界面:

我有一个数据库级方法,它根据给定的键获取要显示的对象列表 - 该方法定义为:

稍后在控制器事件处理程序(或 initialize() 方法)中,我尝试使用 ObservableList 初始化 ListView,如下所示:

lvLeftBarItems.setItems(ol)调用会生成以下编译器错误(在 Netbeans 中):

有什么建议么?我不确定如何解决这个问题。我尝试过使用原始对象(实现 ListDisplayObj)而不是 的变体<? extends ListDisplayObj>,只是返回<ListDisplayObj>vs<? extends ListDisplayObj>等,但没有运气。

0 投票
1 回答
393 浏览

javafx - JavaFX Observables:从 ObservableArrayList 到 ObservableList 的信号

我有一个 TableView (javafx.scene.control.TableView),我用数据填充了它。此数据作为 ArrayList 从数据库中检索,因此我使用了以下流程:

我用预算数据填充 ArrayList

我用数据数组初始化 ObservableList

到我的 TableView(TableView,我添加了我的 ObservableList

我更新数组中的值

初始数据显示正确。我期待通过更改 ArrayList(最后一步),ObservableList 会看到更改并将其传递给我的 TableView。为了使数组中的更改导致 TableView 被发出信号并使用新数据进行更新,流程将是什么。