私はFXMLとその構文が新しく、そのために私はthis トピックに関するいくつかの調査を行っています。Java FXMLプロジェクトを実行しているときの例外(アプリケーションの開始メソッドの例外)
図4-2のすべてを指定したとおりに実行しましたが(NetBeansの代わりにEclipseを使用していることを除いて)、一度プロジェクトを実行するとコンソールに表示されます。
Exception in Application start method
ステージやそのコンポーネントは表示されません。
私はインターネット上でいくつかの研究を行ってきたと私はこのトピックについての情報を見つけることができませんでした。 StackOverFlowについての質問はありますが、問題の原因は同じではありません。
FXMLTableView.java
(mainメソッド):
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ファイルが見つからないと思われます。指定されたpathStringが正しいと確信していますか? – n247s
@ n247sすべてのファイルは同じパッケージに入っています。私が知る限り問題はありません。 これで、あなたにも尋ねるウィンドウがあります。それを質問に追加します。 – SpaceCore186
同じプロジェクトかもしれませんが、あなたのxmlファイルが 'resource'フォルダにない場合、ファイルは見つかりません。さらに、ファイルがリソースフォルダに直接配置されていない場合は、完全なパスを指定する必要があります。 (例: "myFXMLFilesFolder/fxml_tableview.fxml") – n247s