gpt4 book ai didi

javafx - 如何在javafx的TableView中为单元格设置值

转载 作者:行者123 更新时间:2023-12-05 00:50:17 24 4
gpt4 key购买 nike

我是 javafx 的新手。我已经在核心 java 中编码以将值设置为表。但现在我正在将我的项目转换为 javafx 以维护代码并改进设计。

我正在尝试为表格 View 设置值,但我不知道如何为表格 View 设置值。

这是我用于摇摆的代码。

String testbedName = treePath.getPathComponent(1).toString();
TestBed currentTestbed = getTbF().get(testbedName);
propertyTable.getModel().setValueAt(currentTestbed.getTestBedName(), 0, 1);
propertyTable.getModel().setValueAt(currentTestbed.getTestBedFilePath() + "\\" + testbedName + ".xml", 1, 1);
propertyTable.getModel().setValueAt(currentTestbed.getTbElements().size(), 2, 1);

但我需要将 javafx 中的这段代码从 JTable 转换为 TableView。但 tableview 找不到 getModel() 方法。

我搜索但不知道如何为表格 View 设置值。
请给我引用或提示。

提前致谢。

最佳答案

在 JavaFX 中,您通常不会像这样逐个单元格地设置值。例如,在您的情况下,您会

  • 将您的 TestBeds 放在 table 上:

    TableView<TestBed> table = new TableView<>();
    table.getItems().addAll(yourTestBeds);
  • 然后,您可以通过提供适当的单元格值工厂来创建所需的列,例如(使用 Java 8 语法):

    TableColumn<TestBed, String> name = new TableColumn<>();
    name.setCellValueFactory(c-> new SimpleStringProperty(c.getValue().getTestBedName()));

    如果您使用 Java 7:

    name.setCellValueFactory(new Callback<CellDataFeatures<TestBed, String>, ObservableValue<String>>() {
    @Override public ObservableValue<String> call(CellDataFeatures<TestBed, String> c) {
    return new SimpleStringProperty(c.getValue().getTestBedName()));
    }
    });
  • 最后将列添加到表中:

    table.getColumns().addAll(name, someOtherColumn);

关于javafx - 如何在javafx的TableView中为单元格设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20547560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com