2

別のファイルに含めたい FXML ファイルがあります。問題は、それが別のフォルダーに存在することです。フルパスを次のように割り当てると:

<fx:include source="/applicationName/folder1/folder2/anFXMLFile.fxml"/>

親の fxml ファイルはそれを認識し、Nebeans では CTRL キーを押しながらクリックしてファイルを開いて編集することもできます。

ただし、Parent ファイル シーン ビルダーをダブルクリックしても開きません。

Scene Builder にロードしようとしたときに表示されるエラーは次のとおりです。

Error loading file       
'C:/Users/user/Documents/NetBeansProjects/Application/src/application/staff/view/NewStaff.fxml'.
 C:\Users\user\Documents\NetBeansProjects\Application\src\application\staff\view\NewStaff.fxml:23: error: 
java.lang.IllegalStateException: Location is not set.

何が起こっているのか本当にわかりません。

私の動機は次のとおりです。含まれている FXML ファイルは、「個人情報」、「住所」、人、スタッフ、場所などの複数のエンティティで再利用できるフォームなどを表します。

FXML ファイルを 1 か所にまとめて他の fxml ファイルに含めることで、コードの再利用を期待していました。それで全部です。含まれているすべての fxml を親と同じフォルダーに保持でき、正常に動作します。

助けてください!

4

2 に答える 2

0

このようにしてみてください

FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/Custom.fxml"));
于 2013-12-27T02:30:18.703 に答える