回答編集履歴

1 しんぷるに!!!!

umyu

umyu score 5784

2018/09/10 16:20  投稿

1, `JavaFX`で実行時例外が発生した時は最初の行と`Caused by:`の行を例外メッセージから探してください。それが原因です。
1, `JavaFX`で実行時例外が発生時は最初の行と`Caused by:`の行を例外メッセージから探してください。それが原因です。
> Caused by: java.lang.IllegalStateException: Location is not set.
この例外「IllegalStateException」に関して限定すれば、ファイル名が違うのが原因です。
この例外「IllegalStateException: Location is not set.」は該当のFXMLファイルが見つからないまたはファイル名が違うのが原因です。
`fxmlSmpl.fxml`ファイルをどのような手順で作成したのか質問文に書いていないので分かりませんが。
`application`パッケージに属しているので以下のような構成にする必要があります。
`fxmlSmpl.fxml`ファイルをどのような手順で作成したのか質問文に記載がないので、
こちらからは分かりませんが、パッケージ:`application`に属しているため、以下構成にする必要があります。
![イメージ説明](3156e47b0861f6e5cb63a6a7cd89aa8c.png)
---
次に`FXML`ファイルを手で入力したことにより、2箇所スペルミスをしています。
1, javafx.scene.cotrol → javafx.scene.control
2, prefWidht → prefWidth
2, 次に`FXML`ファイルを手入力したことにより、2箇所スペルミスをしています。
2-1, javafx.scene.cotrol → javafx.scene.control
2-2, prefWidht → prefWidth
![イメージ説明](12114ecc5a25fc46dc5becff2e4df750.png)
修正版FXMLファイルです。
修正版FXMLファイルです。
```Java
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<HBox>
   <children>
       <Label text="ラベル" prefWidth="80.0" />
   </children>
</HBox>
```
◆対策としては
案1)手入力はミスの元なのでScene Builderを使う。
案1)手入力はミスの発生元なので、`Scene Builder`を使う。
案2)FXMLファイルの定義を警告しない`eclipse`ではなく[IntelliJ IDEAのCommunity Edition(無料です
)](https://www.jetbrains.com/idea/download/#section=windows)を使う。
バグを修正したら、そのバグを修正する+αでバグを防ぐ何かを導入してくださいな。
バグを修正したら+αでバグを防ぐ何かを導入してくださいな。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る