我已经阅读了有关如何执行此操作的材料,但我一直试图弄清楚如何在浏览器模式或 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>