关键字: java编程, javafx
向javaFX中传递参数的方法有三,主要看javaFX程序是以何种形式发布的。
设我们有如下javaFX代码
- var text = Text {
- x: 10, y: 30
- font : Font { size : 16 }
- content: "Argument {FX.getArgument( "key" )}"
- }
var text = Text {
x: 10, y: 30
font : Font { size : 16 }
content: "Argument {FX.getArgument( "key" )}"
}
其中要访问的参数名为"key".
1. 当javaFX程序以命令行形式调用时(命令行参数)
- javafx -cp FXArguments.jar fxarguments.Main key="From Command Line"
javafx -cp FXArguments.jar fxarguments.Main key="From Command Line"
2. 当javaFX程序以Applet形式调用时(javascript脚本)
- <script src="http://dl./1.2/dtfx.js"></script>
- <script>
- javafx(
- {
- archive: "FXArguments.jar",
- draggable: true,
- width: 250,
- height: 80,
- code: "fxarguments.Main",
- name: "FXArguments",
- key: "from Applet"
- }
- );
- </script>
<script src="http://dl./1.2/dtfx.js"></script>
<script>
javafx(
{
archive: "FXArguments.jar",
draggable: true,
width: 250,
height: 80,
code: "fxarguments.Main",
name: "FXArguments",
key: "from Applet"
}
);
</script>
3. 当javaFX程序以Web Start形式调用时(jnlp配置文件)
- <jnlp spec="1.0+" codebase="dist" href="FXArguments.jnlp">
- <application-desc main-class="com.sun.javafx.runtime.main.Main">
- <argument>MainJavaFXScript=fxarguments.Main</argument>
- <argument>key=from Java Web Start</argument>
- </application-desc>
- </jnlp>
<jnlp spec="1.0+" codebase="dist" href="FXArguments.jnlp">
<application-desc main-class="com.sun.javafx.runtime.main.Main">
<argument>MainJavaFXScript=fxarguments.Main</argument>
<argument>key=from Java Web Start</argument>
</application-desc>
</jnlp>
或问可否在浏览器中直接调用jnlp的同时传递参数, 形如
- www.test.com/app.jnlp?key=arg1&test=other
www.test.com/app.jnlp?key=arg1&test=other
博主答曰: 否. 替换方案是
做一个专用Servlet, 向其传递必要参数, 然后自动生成对应的jnlp的URL(包括参数), 再重定位可也. (有工夫的可试试)
博主(Rakesh Menon)地址: http://blogs./rakeshmenonp/en_US/
|