运行Java FXML项目时出现异常(应用程序启动方法中的异常)

运行Java FXML项目时出现异常(应用程序启动方法中的异常)

问题描述:

我对FXML及其语法绝对陌生,因此我必须对this 进行一些研究。运行Java FXML项目时出现异常(应用程序启动方法中的异常)

我已经完成了图4-2上面的所有事情(除了我使用Eclipse代替NetBeans)之外,但是一旦我运行该项目,这就是我在控制台上得到的结果:

Exception in Application start method 

虽然阶段和其组成部分都不出现。

而且,这个窗口显示出来: enter image description here

我已经做了互联网上一些研究,我无法找到有关此主题的信息。在*上有关于它的问题,但问题的原因是不一样的。

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 { 

} 

在此先感谢!

+2

除了例外,是否还有其他信息?否则,我怀疑无法找到fxml文件。你确定给出的pathString是正确的吗? – n247s

+0

@ n247s每个文件都在同一个包中,所以就我所知,应该没有问题。 现在你问,有一个窗口也显示出来。我会将其添加到问题中。 – SpaceCore186

+0

它可能是同一个项目,但如果你的xml文件不在'资源'文件夹中,它将不会找到该文件。此外,如果文件没有直接放置在资源文件夹中,则需要提供完整的路径。 (例如“myFXMLFilesFolder/fxml_tableview.fxml”) – n247s

已解决

问题是因为我没有导入我在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感谢。