运行Java FXML项目时出现异常(应用程序启动方法中的异常)
问题描述:
我对FXML及其语法绝对陌生,因此我必须对this 进行一些研究。运行Java FXML项目时出现异常(应用程序启动方法中的异常)
我已经完成了图4-2上面的所有事情(除了我使用Eclipse代替NetBeans)之外,但是一旦我运行该项目,这就是我在控制台上得到的结果:
Exception in Application start method
虽然阶段和其组成部分都不出现。
我已经做了互联网上一些研究,我无法找到有关此主题的信息。在StackOverFlow上有关于它的问题,但问题的原因是不一样的。
FXMLTableView.java
(主要方法):
package application;
public class FXMLTableView extends Application{
public static void main(String[] args){
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Pane root = (Pane) FXMLLoader.load(getClass().getResource("fxml_tableview.fxml"));
primaryStage.setTitle("This is a title");
primaryStage.setScene(new Scene(root, 400, 400));
primaryStage.show();
}
}
fxml_tableview.fxml
:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.AnchorPane?>
<GridPane alignment="CENTER" hgap="10.0" vgap="10.0"
xmlns:fx="http://javafx.com/fxml"
fx:controller="fxmltableview.FXMLTableViewController">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</padding>
<Label style="-fx-font: NORMAL 20 Tahoma;" text="Address Book"
GridPane.columnIndex="0" GridPane.rowIndex="0">
</Label>
<TableView fx:id="tableView" GridPane.columnIndex="0"
GridPane.rowIndex="1">
</TableView>
</GridPane>
我不认为认为这是必要的,以显示FXMLTableViewController
,因为我没有尚未使用它,因为它实际上是空的,但在以下情况下:
package application;
public class FXMLTableViewController {
}
在此先感谢!
答
已解决。
问题是因为我没有导入我在FXML文件上使用的每个类的库。
这是怎么回事必须是:为帮助
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<GridPane alignment="CENTER" hgap="10.0" vgap="10.0"
xmlns:fx="http://javafx.com/fxml"
fx:controller="fxmltableview.FXMLTableViewController">
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
</padding>
<Label style="-fx-font: NORMAL 20 Tahoma;" text="Address Book"
GridPane.columnIndex="0" GridPane.rowIndex="0">
</Label>
<TableView fx:id="tableView" GridPane.columnIndex="0"
GridPane.rowIndex="1">
</TableView>
</GridPane>
@ n247s感谢。
除了例外,是否还有其他信息?否则,我怀疑无法找到fxml文件。你确定给出的pathString是正确的吗? – n247s
@ n247s每个文件都在同一个包中,所以就我所知,应该没有问题。 现在你问,有一个窗口也显示出来。我会将其添加到问题中。 – SpaceCore186
它可能是同一个项目,但如果你的xml文件不在'资源'文件夹中,它将不会找到该文件。此外,如果文件没有直接放置在资源文件夹中,则需要提供完整的路径。 (例如“myFXMLFilesFolder/fxml_tableview.fxml”) – n247s