JavaFX リソースフォルダー内の FXML ファイルの参照
JavaFX GUI アプリケーションを作成する場合、コントローラー内から FXML ファイルを参照することが必要になる場合があります。これを効果的に行うには、次の点を考慮することが重要です。
汎用リソース検索:
FXML ファイルの参照は、Java の汎用リソース検索プロセスの一部です。呼び出し側プログラムがリソースの場所を FXMLLoader に渡すと、リソース検索自体は FXMLLoader ではなくアプリケーション コード内で発生します。
リソース検索の例:
ロードするにはリソース ルックアップを使用する FXML ファイルの場合、以下:
FXMLLoader loader = new FXMLLoader(); loader.setLocation(getClass().getResource("/main.fxml")); Parent content = loader.load();
リソースの場所の解決:
リソースの場所を解決するには 3 つのオプションがあります:
loader.setLocation(getClass().getResource("/main.fxml"));
loader.setLocation(getClass().getResource("/fxml/main.fxml"));
loader.setLocation(getClass().getResource("main.fxml"));
最後のアプローチでは、読み込みクラスは Java ソース階層内の FXML ファイルと同じ相対位置に配置される必要があります。
FXMLLoader使用上の推奨事項:
IDE とビルド設定:
コンパイルまたは IDE の使用中に、FXML ファイルがリソース ディレクトリからビルド出力ディレクトリにコピーされていることを確認します。
Java Jigsaw モジュラー アプリケーション:
モジュール式アプリケーションを操作する場合、リソースにアクセスする必要があります経由:
ComboBoxStyling.class.getResource("/css/styleclass.css");
ではなく:
ComboBoxStyling.class.getClassLoader().getResource("/css/styleclass.css");
以上がJavaFXリソースフォルダー内のFXMLファイルを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。