当前位置:  开发笔记 > 编程语言 > 正文

javafx:如何在TableView中显示String

如何解决《javafx:如何在TableView中显示String》经验,为你挑选了1个好方法。

我想在javafx中的TableView中显示一些字符串,但是当我将它们添加到表中时,我可以选择它们,这意味着它们被添加但是它会显示字符串,就像它们中的null一样.

我之前使用过TableView以这种方式显示对象的属性:

repositoriesColumn.setCellValueFactory(new PropertyValueFactory("name"));

并且在查看之后我会看到名字.我知道它是如何工作的.

但是这次我有一个ArrayList,没有对象可以使用refelection.只有字符串,我不能得到任何财产显示.我试过这样做,但它没有帮助:

repositoriesColumn.setCellValueFactory(new PropertyValueFactory("string"));

这是列的声明:

@FXML
public javafx.scene.control.TableColumn repositoriesColumn;

@FXML
public javafx.scene.control.TableColumn ownerColumn;

而且我找不到与互联网类似的东西,我该怎么办?



1> purring pige..:

我不确定我是否完全理解你的问题,但你可以将字符串包装在属性中并添加它.像这样的东西:

import java.util.ArrayList;
import java.util.Collection;
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;


public class SampleApp extends Application{

    public static void main(String[] args){
        launch (args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        Collection list = new ArrayList<>();
        list.add("String1");
        list.add("String2");
        list.add("String3");
        list.add("String4");
        list.add("String5");
        list.add("String6");

        ObservableList details = FXCollections.observableArrayList(list);

        TableView tableView = new TableView<>();
        TableColumn col1 = new TableColumn<>();
        tableView.getColumns().addAll(col1);

        col1.setCellValueFactory(data -> new SimpleStringProperty(data.getValue()));
        tableView.setItems(details);

        StackPane sp = new StackPane(tableView);
        Scene scene = new Scene(sp);
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有