JavaFx 调用目标异常

JavaFx Invocation Target Expception

我通过使用 Scene Builder 创建样式表来编写这个简单的程序,但它不起作用。

public void start(Stage stage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("Stile.fxml"));
    Scene scene = new Scene(root);
    stage.setScene(scene);
    stage.show();
}

这是我的 .fxml 文件:

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

<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.control.ListView?>
<?import javafx.geometry.Insets?>

<StackPane prefHeight="355.0" prefWidth="402.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafxml.esempio.mvc.ListController">
   <children>
      <BorderPane prefHeight="304.0" prefWidth="0.0">
         <bottom>
            <TextField id="testo" prefHeight="97.0" prefWidth="248.0" BorderPane.alignment="CENTER" />
         </bottom>
         <left>
            <ScrollBar id="scrollbar" orientation="VERTICAL" BorderPane.alignment="CENTER" />
         </left>
         <center>
            <ListView id="lista" prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" />
         </center>
         <top>
            <MenuBar id="barra" BorderPane.alignment="CENTER">
              <menus>
                <Menu mnemonicParsing="false" text="File">
                  <items>
                    <MenuItem mnemonicParsing="false" text="Close" />
                  </items>
                </Menu>
                <Menu mnemonicParsing="false" text="Edit">
                  <items>
                    <MenuItem mnemonicParsing="false" text="Delete" />
                  </items>
                </Menu>
                <Menu mnemonicParsing="false" text="Help">
                  <items>
                    <MenuItem mnemonicParsing="false" text="About" />
                  </items>
                </Menu>
              </menus>
            </MenuBar>
         </top>
      </BorderPane>
   </children>
 <padding>
  <Insets bottom="10" left="10" right="10" top="10" />
 </padding>
</StackPane>

需要单独添加元素吗?如果我想添加控制器,如何从 fxml 中提取单个元素?

在 fxml 中,您要声明一个控制器:

fx:controller="javafxml.esempio.mvc.ListController"

你只需要创建它。