在FXML中初始化时,将列添加到表视图中

时间:2016-12-06 13:18:56

标签: java javafx fxml

我正在尝试将列添加到表格视图中:

    @FXML
    private TableView tblView;
    //private Label tblViewTitle;
    @FXML
     public void showTable(ActionEvent e) throws Exception{
    Stage TableView = new Stage();
    Parent root = FXMLLoader.load(getClass().getResource("tableView.fxml"));
    TableView.setTitle("Table");
    TableView.setScene(new Scene(root));
    //tblViewTitle.setText("test");

    //For dynamic calculate later on
    TableColumn clm1 = new TableColumn("Test");
    TableColumn clm2 = new TableColumn("Test");
    TableColumn clm3 = new TableColumn("Test");
    TableColumn clm4 = new TableColumn("Test");

    tblView.getColumns().addAll(clm1, clm2, clm3, clm4);

    TableView.show();
}

fxml文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.text.Font?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"        minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0"   xmlns="http://javafx.com/javafx/8.0.101" xmlns:fx="http://javafx.com/fxml/1"  fx:controller="sample.Controller">
 <children>
  <TableView fx:id="tblView" editable="true" layoutX="84.0" layoutY="94.0" prefHeight="306.0" prefWidth="600.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="94.0" />
    <Label fx:id="tblViewTitle" layoutX="14.0" layoutY="26.0" prefHeight="49.0" prefWidth="181.0">
     <font>
        <Font size="39.0" />
     </font>
  </Label>
</children>
</AnchorPane>

当我尝试将列添加到表视图中时,我得到一个nullPointerException,我不明白为什么。

我是否因为表视图不是对象而无法添加列?

0 个答案:

没有答案