如何在javafx的TableView中将值设置为单元格 [英] How to set value to cell in TableView in javafx

查看:150
本文介绍了如何在javafx的TableView中将值设置为单元格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是javafx的新手.我已经在核心Java中编写代码以将值设置为table.但是现在我要在javafx中转换我的项目以维护代码并改善设计.

I am newbie on javafx. I already code in core java to set value to table. But now i am converting my project in javafx to maintain code and to improve design.

我试图将值设置为表视图,但是我没有获得如何将值设置为表视图.

I am trying to set value to table view but i am not getting how to set value to tableview.

这是我用于挥杆的代码.

Here is my code which i am using for swing.

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()方法.

But i need to convert this code in javafx means from JTable to TableView. but tableview not find getModel() method.

我进行搜索,但没有获得如何为表格视图设置值的方法.
请给我参考或提示.

I search but didn't get how to set value to table view.
Please give me reference or hint.

谢谢.

推荐答案

在JavaFX中,通常不会像这样逐个单元地设置值.例如,就您而言

In JavaFX you generally don't set the values cell by cell like that. In your case, for example, you would

  • 在表格中放置您的TestBed:

  • place your TestBeds in the table:

TableView<TestBed> table = new TableView<>();
table.getItems().addAll(yourTestBeds);

  • 然后,通过提供适当的单元格值工厂(例如,使用Java 8语法)来创建所需的列:

  • you then create the columns you need, by providing appropriate cell value factories, for example (using Java 8 syntax):

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

    如果您使用Java 7:

    If you use 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()));
        }
    });
    

  • 最后,您将列添加到表中:

  • Finally you add the columns to the table:

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

  • 这篇关于如何在javafx的TableView中将值设置为单元格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆