2014-03-27 31 views
-1

以下是該場景。用戶在html頁面中填入一定數量的參數,然後我需要用這個特定的參數調用我的applet,可能在同一頁面中。執行此通行證的最簡單方法是什麼?用動態參數調用Java Applet

我正在使用runApplet函數,但它不工作。 JS控制檯和Java控制檯中沒有消息。

<html> 
<head> 
<title>Compila i dati</title> 
</head> 
<body> 
<script src= 
    "http://www.java.com/js/deployJava.js"></script> 
<script> 
    function runApplet(){ 
     var attributes = { id:'anID', code:'Test', width:1, height:1, codebase: '.'} ; 
     var parameters = {width:'100', height:'100', code:'Test', archive: 'applet.jar, xyz.jar, abc.jar', 
     posX: document.forms["form1"]["posX"].value , posY: document.forms["form1"]["posY"].value , heightSign: '300' , widthSign: '600' , 
     PDFUrl: 'http://anurl' , 
     type:'application/x-java-applet' , scriptable:'false' } ; 
     deployJava.runApplet(attributes, parameters, 1.6); 
    } 
</script> 


<form name = "form1" onsubmit="runApplet()"> 
    <div> 
     <label for="name">Nome:</label> 
     <input type="text" name="nome" /> 
    </div> 
    <div> 
     <label for="mail">Cognome:</label> 
     <input type="text" name="cognome" /> 
    </div> 
    <div> 
     <label for="msg">X:</label> 
     <input type="text" name="posX" /> 
    </div> 
    <div> 
     <label for="msg">Y:</label> 
     <input type="text" name="posY" /> 
    </div> 

    <div class="button"> 
     <button type="submit">Invia</button> 
    </div> 
</form> 

</body> 

回答

1

我可以嘗試以這種方式來創建通過JavaScript的DINAMIC小程序contanier:

$('#idappletv').empty(); 
     $('#idappletv').hide(); 
     var _xmhlcode = " <script> function javafxEmbed() {" + 
     "dtjava.embed(" + 
     "{" + 
     " id: 'myBrApplet'," + 
     " url : 'pages/applet/myApplet.jnlp'," + 
     " placeholder : 'javafx-app-placeholder'," + 
     " width : 890 ," + 
     " height : 200," + 
     " jnlp_content : 'bmFtZT0iQXBwbGV0RnhCcm93c2VyIiAvPg0KICA8dXBkYXRlIGNoZWNrPSJhbHdheXMiLz4NCjwvam5scD4NC=='" + 
     ", params: {param1:'" + param1 + "',param2:'" + param2 + "'}" + 
     "}," + 
     "{" + 
     " javafx : '2.2+'" + 
     "}," + 
     "{}" + 
     ");" + 
     "}" + 
     "dtjava.addOnloadCallback(javafxEmbed); </" + "script> "; 

     $('#idappletv').append("<div id='javafx-app-placeholder'></div>"); 
     $('#idappletv').append(_xmhlcode); 
     dtjava.addOnloadCallback(javafxEmbed); 
     $('#idappletv').show(); 

然後,當小程序啓動,你可以使用讀取參數:

@Override 
    public void start(Stage primaryStage) { 
     Parameters params = getParameters(); 
     String param1 = params.getNamed().get("param1"); 
     String param2 = params.getNamed().get("param2"); 

你可以從你的html頁面讀取參數「param1和param2」。

它應該是有效的。 我使用JavaFX和java-webstart(http://docs.oracle.com/javafx/2/deployment/deploy_swing_apps.htm)。