java - 在JAVAFX中将字符串行添加到TableView

标签 java javafx javafx-8

我找不到向我的 tableView 添加简单的“字符串”行的方法。 事实上,我可以添加一行,但其内容不可见 ...

这是我的代码:

@FXML
private TableView<String> table; 

@FXML
private TableColumn<String, String> table2;

public ObservableList<String> getLanes()
{
    ObservableList<String> lanes=FXCollections.observableArrayList();
    lanes.add("TEST");

    return lanes;
}

然后:

table.setItems(getLanes()); //Not working

table.getItems().add("TEST"); //Not working

但没有成功。 我读过thatthat以及其他文档,但它并没有帮助我以这种简单的方式做到这一点。

编辑:

添加这一行解决了我的问题:

table2.setCellValueFactory(param -> new ReadOnlyStringWrapper(param.getValue()));

最佳答案

这是一个简单的应用程序,我们尝试将单个值加载到 TableView 列中。它还展示了如何在表列上设置 cellValueFactory()

tableColumn.setCellValueFactory(param -> new ReadOnlyStringWrapper(param.getValue()));

MCVE

import javafx.application.Application;
import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        TableView<String> tableView = new TableView<>();
        TableColumn<String, String> tableColumn = new TableColumn<>("Name");

        tableColumn.setCellValueFactory(param -> new ReadOnlyStringWrapper(param.getValue()));

        tableView.getColumns().add(tableColumn);
        ObservableList<String> items = FXCollections.observableArrayList("Itachi");
        tableView.setItems(items);

        VBox root = new VBox(tableView);
        root.setAlignment(Pos.CENTER);
        Scene scene = new Scene(root, 300, 275);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

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

关于java - 在JAVAFX中将字符串行添加到TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36978221/

相关文章:

java - 如何在 JavaFX 中以编程方式切换选项卡

JavaFX:如何设置 TabPane header onClick 事件的监听器

java - Javafx8 Webview 支持哪些 CSS3 特性?

java - 从另一个 View 单击按钮时打开 TabPane

java - 使用 Java 中的 Apache Commons 为 CSV 生成字符串内容,而不是编写实际文件

java - 如何知道 firebase ChildEventListener 是否找到了 child ? [安卓]

java - 我可以在 Java 中使用自绑定(bind)泛型和子类化来避免这种未经检查的强制转换吗?

java - JavaFx。如何恢复?

css - 使用 CSS 在 JavaFX 中为 TextField 创建形状

java - 在 JAVA 中换行