0

我已经阅读了有关如何执行此操作的材料,但我一直试图弄清楚如何在浏览器模式或 webstart 模式下将参数传递给我的 JavaFX2 应用程序。
我也在这里在 OTN 论坛上问过这个问题

所以我将 ColorfulCircles 项目从 Ensemble 导入到 Netbeans。然后我修改了代码并放入了一个小片段以在 init 方法之后提取一个参数,就像这样。我只是获取参数并将其设置为舞台的标题。

                @Override public void start(Stage primaryStage) throws Exception {
                init(primaryStage);

                Parameters params = getParameters();
                String myTitle = params.getNamed().get("myTitle");
                primaryStage.setTitle(myTitle);

                primaryStage.show();
                play();
                }

然后我做了一个清理并在netbeans中构建......所有的html、jar、jnlp等都生成了。

然后我手动修改了 HTML,如下所示。但是对于任何一种模式,舞台的标题都不会更新/显示。这里缺少什么?

            <html><head>
              <SCRIPT src="./web-files/dtjava.js"></SCRIPT>
            <script>
                function launchApplication(jnlpfile) {
                dtjava.launch(            {
                    url : 'ColorfulCircles.jnlp',
                    jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iQ29sb3JmdWxDaXJjbGVzLmpubHAiPg0KICA8aW5mb3JtYXRpb24DQogICAgPHRpdGxlPkNvbG9yZnVsQ2lyY2xlczwvdGl0bGUDQogICAgPHZlbmRvcj5kZW1vPC92ZW5kb3IDQogICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBKYXZhRlggMi4wIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24DQogICAgPG9mZmxpbmUtYWxsb3dlZC8DQogIDwvaW5mb3JtYXRpb24DQogIDxyZXNvdXJjZXMDQogICAgPGpmeDpqYXZhZngtcnVudGltZSB2ZXJzaW9uPSIyLjArIiBocmVmPSJodHRwOi8vamF2YWRsLnN1bi5jb20vd2ViYXBwcy9kb3dubG9hZC9HZXRGaWxlL2phdmFmeC1sYXRlc3Qvd2luZG93cy1pNTg2L2phdmFmeDIuam5scCIvPg0KICA8L3Jlc291cmNlcz4NCiAgPHJlc291cmNlcz4NCiAgICA8ajJzZSB2ZXJzaW9uPSIxLjYrIiBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2F1dG9kbC9qMnNlIi8DQogICAgPGphciBocmVmPSJDb2xvcmZ1bENpcmNsZXMuamFyIiBzaXplPSIxNzg3NSIgZG93bmxvYWQ9ImVhZ2VyIiAvPg0KICA8L3Jlc291cmNlcz4NCiAgPGFwcGxldC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iY29tLmphdmFmeC5tYWluLk5vSmF2YUZYRmFsbGJhY2siICBuYW1lPSJDb2xvcmZ1bENpcmNsZXMiID4NCiAgICA8cGFyYW0gbmFtZT0icmVxdWlyZWRGWFZlcnNpb24iIHZhbHVlPSIyLjArIi8DQogIDwvYXBwbGV0Pg0KICA8amZ4OmphdmFmeC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iQ29sb3JmdWxDaXJjbGVzU2FtcGxlIiAgbmFtZT0iQ29sb3JmdWxDaXJjbGVzIiAvPg0KICA8dXBkYXRlIGNoZWNrPSJiYWNrZ3JvdW5kIi8DQo8L2pubHADQo='
                    ,
                    params: {myTitle: "MyColorfulCircles"}
                    },
                    {
                    javafx : '2.0'
                    },
                    {}
                );
                return false;
                }
            </script>

            <script>
                function javafxEmbed() {
                dtjava.embed(
                    {
                    url : 'ColorfulCircles.jnlp',
                    placeholder : 'javafx-app-placeholder',
                    width : 800,
                    height : 600,
                    jnlp_content : 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIHNwZWM9IjEuMCIgeG1sbnM6amZ4PSJodHRwOi8vamF2YWZ4LmNvbSIgaHJlZj0iQ29sb3JmdWxDaXJjbGVzLmpubHAiPg0KICA8aW5mb3JtYXRpb24DQogICAgPHRpdGxlPkNvbG9yZnVsQ2lyY2xlczwvdGl0bGUDQogICAgPHZlbmRvcj5kZW1vPC92ZW5kb3IDQogICAgPGRlc2NyaXB0aW9uPlNhbXBsZSBKYXZhRlggMi4wIGFwcGxpY2F0aW9uLjwvZGVzY3JpcHRpb24DQogICAgPG9mZmxpbmUtYWxsb3dlZC8DQogIDwvaW5mb3JtYXRpb24DQogIDxyZXNvdXJjZXMDQogICAgPGpmeDpqYXZhZngtcnVudGltZSB2ZXJzaW9uPSIyLjArIiBocmVmPSJodHRwOi8vamF2YWRsLnN1bi5jb20vd2ViYXBwcy9kb3dubG9hZC9HZXRGaWxlL2phdmFmeC1sYXRlc3Qvd2luZG93cy1pNTg2L2phdmFmeDIuam5scCIvPg0KICA8L3Jlc291cmNlcz4NCiAgPHJlc291cmNlcz4NCiAgICA8ajJzZSB2ZXJzaW9uPSIxLjYrIiBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2F1dG9kbC9qMnNlIi8DQogICAgPGphciBocmVmPSJDb2xvcmZ1bENpcmNsZXMuamFyIiBzaXplPSIxNzg3NSIgZG93bmxvYWQ9ImVhZ2VyIiAvPg0KICA8L3Jlc291cmNlcz4NCiAgPGFwcGxldC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iY29tLmphdmFmeC5tYWluLk5vSmF2YUZYRmFsbGJhY2siICBuYW1lPSJDb2xvcmZ1bENpcmNsZXMiID4NCiAgICA8cGFyYW0gbmFtZT0icmVxdWlyZWRGWFZlcnNpb24iIHZhbHVlPSIyLjArIi8DQogIDwvYXBwbGV0Pg0KICA8amZ4OmphdmFmeC1kZXNjICB3aWR0aD0iODAwIiBoZWlnaHQ9IjYwMCIgbWFpbi1jbGFzcz0iQ29sb3JmdWxDaXJjbGVzU2FtcGxlIiAgbmFtZT0iQ29sb3JmdWxDaXJjbGVzIiAvPg0KICA8dXBkYXRlIGNoZWNrPSJiYWNrZ3JvdW5kIi8DQo8L2pubHADQo='
                    ,
                    params: {myTitle: "MyColorfulCircles"}
                    },
                    {
                    javafx : '2.0'
                    },
                    {}
                );
                }
                <!-- Embed FX application into web page once page is loaded -->
                dtjava.addOnloadCallback(javafxEmbed);
            </script>

            </head><body>
            <h2>Test page for <b>ColorfulCircles</b></h2>
              <b>Webstart:</b> <a href='ColorfulCircles.jnlp' onclick="return launchApplication('ColorfulCircles.jnlp');">click to launch this app as webstart</a><br><hr><br>

              <!-- Applet will be inserted here -->
              <div id='javafx-app-placeholder'></div>
            </body></html>
4

1 回答 1

1

这已在 JavaFX 2.2 中修复,您可以在此处尝试开发人员版本:http ://www.oracle.com/technetwork/java/javafx/downloads/devpreview-1429449.html

但请确保使用新的 ant-javafx.jar 重新生成 html/jnlp 文件(或从示例中复制它们)

于 2012-08-01T08:10:37.830 回答