向javaFX程序中传递参数

向javaFX程序中传递参数的方法有三,主要看javaFX程序是以何种形式发布的。
设我们有如下javaFX代码
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"

2. 当javaFX程序以Applet形式调用时(javascript脚本)
<script src="http://dl.javafx.com/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的同时传递参数, 形如
www.test.com/app.jnlp?key=arg1&test=other

博主答曰: 否. 替换方案是
做一个专用Servlet, 向其传递必要参数, 然后自动生成对应的jnlp的URL(包括参数), 再重定位可也. (有工夫的可试试)

博主(Rakesh Menon)地址: http://blogs.sun.com/rakeshmenonp/en_US/

你可能感兴趣的:(JavaScript,java,Web,脚本,JavaFX)