- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了 ObservableList
的问题。我正在做的是将一个元素添加到 ObservableList
然后将其设置为 TableView
但问题是每当我向 ObservableList
添加元素时使用addAll()
TableView
中显示了一些额外的元素.
这是我的代码片段
public void startRun(final TestCase test) {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
if (sessionConfig.isEnableSessionControl() || detailscol.isVisible() == false)
saveReportBtn.setDisable(true);
else
saveReportBtn.setDisable(true);
testCaseList.add(test);
start = "Running";
removerow++;
startRunDataList = FXCollections.observableArrayList(new TestExecutionTable(test.getName(), start));
updatedDataStartrun.addAll(startRunDataList);
testExecutioTable.setItems(updatedDataStartrun);
lastOne = startRunDataList.get(0);
}
});
t.start();
}
哪里testCaseList = new ArrayList<TestCase>();
在类(class)开始时初始化。
startRunDataList = FXCollections.observableArrayList();
updatedDataStartrun= FXCollections.observableArrayList();
以上方法startRun(final TestCase test)
正在循环中被调用。
for (TestCase test : tests) {
CountDownLatch latch = new CountDownLatch(1);
listener.startSuite(null);
listener.startRun(test);
try {
test.run(context, listener);
listener.passed(test, latch);
} catch (TestFailure failure) {
listener.failed(test, failure, latch);
//latch.wait();
} catch (Throwable t) {
listener.error(test, t, latch);
//latch.wait();
} finally {
listener.endRun(test);
}
}
但是,上面的代码在 Java 7 上运行良好,但在更高版本(Java 8 及更高版本)上则不然。
最佳答案
您正在运行可并行代码(在单独线程中工作的代码),而没有任何同步。因此,各种线程可以以完全任意的方式相互交织。可能是 Java 7 使用了不同的调度机制,导致您的代码意外地正常工作。
如果您遇到过不同线程可能并行访问集合的情况,您可能需要将代码片段包装在 synchronized
block 中,以确保给定的代码片段以原子方式执行,而无需任何操作。来自其他线程的干扰。
关于java - TableView 中带有额外元素的 ObservableList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56293035/
我有一个有趣的问题,我是 JavaFX 的新手,我需要创建一个小众市场 ObservableList执行。 本质上,我需要一个 ObservableList维护另一个 ObservableList 的
如果我有两个单独的 ObservableLists,并且都放在一个单独的 ObservableList 中用于 TableView...有没有办法在这两个 ObservableLists 和聚合的 O
当我尝试将项目设置到 tableView 中时遇到问题,有关我使用 SceneBuilder 的信息。 Main.java: public class Main extends Application
我想知道为什么TableView方法setItems不需要ObservableList作为参数,但是 ObservableList ? 还有什么是最好的转型方式ObservableList至Obser
当我将监听器附加到可观察列表并在该监听器中尝试删除一些元素时,在某些情况下它会通过,而在某些情况下会崩溃。 场景:项目已从列表中删除。它触发监听器,在该监听器中我尝试删除另一个项目。 如果在监听器中我
我在不同的条件下尝试了不同的集合,但我能够收到的所有更改都是排列、添加、删除和替换更改。 更新变化在什么条件下出现?什么基类,什么存储类以及需要什么操作来产生这样的事件? 最佳答案 要生成更新事件,您
This answer为可观察列表提供解决方案,如果列表元素的属性更改,它将发送“列表已更新” 通知>. 在我的例子中,此类可观察列表的元素(元素类)很复杂,我不喜欢为每个成员变量实现属性。因此,我在
这是我的问题:我有一堂 Detenu 课: public class Detenu { private static String n_ecrou; // Unique id p
我正在使用 JavaFX 编写日志读取器应用程序,并且我想根据所选属性实现基于搜索的过滤。 Application screenshot组合框中的值表示填充表的对象字段的名称。现在,我只想显示属性包含
给出以下代码示例: private final ObservableList data = FXCollections.observableArrayList( new Per
我有一个使用 JavaFX 的应用程序。它包含一个ListView(它使用ObservableList)。我使用添加了一个 ChangeListener list.getSelectionModel(
我有一个可观察列表,我尝试通过不同的谓词来过滤它。 我有要进行过滤的嵌套对象。 这是第一个 pojo public Class Transaction { private String na
例如,如果您有一个ArrayList,您可以执行以下操作: ArrayList list = new ArrayList(); ObservableList data = FXCollections.
我不太确定如何表达这个问题,请耐心等待。 我有一个 ObservableList用户定义的对象与几个 getter 方法,例如: public String getName() { return th
编辑 事实证明,当我实际上想要一个深拷贝时,FXCollections.observableArrayList() 正在创建列表的浅拷贝。 this.value 和 value “指向”两个不同的 O
我正在处理一个 javaFx 项目,我们必须在其中使用 ObservableList 添加 Listner。 ObservableList 包含人的模型。但是我想通过序列化将整个 Observable
我有一个自定义对象 FermentableInRecipe,它填充了一个 TableView。为了响应列表中项目的更改以及列表本身,我决定使用提取器。这是我的 ObservableList 的声明和实
我试图理解 ObservableList 和 Realms 的概念。我试图创建一个 ObservableList 的实例,如下所示: public ObservableList createObs
我有一个 Java ObservableList有数千个条目每秒接收数百个更新支持 JavaFX TableView . ObservableList 是 backed by an ArrayList
我有一张 Albums 的表格可由用户过滤和排序。 这是这张 table 的样子。如您所见,列是可排序的,顶部有一个文本框,当前正在过滤其中包含字符串“cu”的专辑: 一切正常专辑列表填充后 . 但是
我是一名优秀的程序员,十分优秀!