如何加载* .jar文件中的FXML文件

时间:2016-04-01 05:43:31

标签: java javafx fxml

这是我在Stack上的第一篇文章,我正在寻找我的问题的答案,但我还没有发现任何有用的东西。 我学习Java,所以要温柔;)

我的问题是,我不想在" jar"中制作一个包含所有内容的文件。我必须加载FXML文件,该文件不在* .jar文件中。 例如: 我正在制作我的JavaFXMLApplication文件夹中的FXML文件,我运行" JavaFXApplication.jar"文件和本应用程序使用我刚刚制作的FXML。

我希望我能清楚地描述一下:)

修改 我找到了另一个解决方案,对我来说效果更好......

    File file = new File("absolutPathToFile\\FXMLDocument.fxml");
    InputStream is = new BufferedInputStream(new FileInputStream(file));

    Pane root = new Pane();

    FXMLLoader loader = new FXMLLoader();
    try
    {
        root = loader.load(is);

    }
    catch (IOException ex)
    {
        System.out.println(ex);
    }

我希望它会帮助某人

干杯:)

1 个答案:

答案 0 :(得分:1)

您可以从任何地方加载FXML文件。一种可能性是使用以URL作为参数的load命令。您可以像这样轻松获取该网址:

ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/app/helpers/dashboard_helper.rb:42:in 'measure'
ERROR web[rails] compiled-template:2:in '_run_inline_1836978769_locals_dashboard_configuration_widget_widget_properties'
ERROR web[rails] org/jruby/RubyKernel.java:2227:in 'send'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:34:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:306:in 'with_template'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:30:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:269:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/app/helpers/dashboard_helper.rb:168:in 'widget_body'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/app/views/dashboard/_widget.html.erb:3:in '_run_erb_app47views47dashboard47_widget46html46erb_locals_object_widget'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/app/views/dashboard/index.html.erb:21:in '_run_erb_app47views47dashboard47index46html46erb'
ERROR web[rails] org/jruby/RubyRange.java:427:in 'each'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/app/views/dashboard/index.html.erb:15:in '_run_erb_app47views47dashboard47index46html46erb'
ERROR web[rails] org/jruby/RubyKernel.java:2227:in 'send'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:34:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:306:in 'with_template'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/renderable.rb:30:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/template.rb:205:in 'render_template'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:265:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:348:in '_render_with_layout'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_view/base.rb:262:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:1252:in 'render_for_file'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/base.rb:936:in 'render'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/actionpack-2.3.15/lib/action_controller/benchmarking.rb:51:in 'render_with_benchmark'
ERROR web[rails] C:/SonarQube/sonarqube-5.4/web/WEB-INF/gems/gems/activesupport-2.3.15/lib/active_support/core_ext/benchmark.rb:17:in 'ms'
ERROR web[rails] jar:file:/C:/SonarQube/sonarqube-5.4/lib/server/jruby-complete-1.7.9.jar!/META-INF/jruby.home/lib/ruby/1.8/benchmark.rb:308:in 'realtime'