3

使用したい 2 つのメソッドを持つアプレットがあります。最初の方法では、クライアント プリンター リストを取得しています。

このプリンタ リストを HTML ページのコンボで使用したいと考えています。ユーザーは、このコンボからプリンターを選択する必要があります。その後、ユーザーはボタンをクリックしていくつかの操作を行います。そのボタンをクリックしてそれらの操作を終了した後、アプレットの 2 番目のメソッドを呼び出したいと思います。このメソッドは 2 つのパラメーターを取得します。1 つはファイル オブジェクト、もう 1 つはユーザーが既に選択したプリンター オブジェクトです。

私の質問は次のとおりです。

プリンター リストを取得し、ページの読み込み後に HTML ページで使用するにはどうすればよいですか? ボタンをクリックした後、アプレットの 2 番目のメソッドにパラメータを送信するにはどうすればよいですか?

4

3 に答える 3

1
To have my applet work;
1- I exported the applet as jar file(named as printApplet.jar) and copied it under the same folder as my xhtml page.
2- I put the applet in xhtml as below;
         <applet id="myApplet"
            code="com.xxx.yyy.console.action.PrintApplet"
            archive="printApplet.jar" width="1" height="1">         
        </applet>
3- I created a method `enter code here`in the applet which gets printer names as string and has comma(,) between the names. 
4- I called the applet methods using javascript as below;
<script type="text/javascript" >
    //<![CDATA[
    function getPrinters() {
        var aplt = document.getElementById("myApplet");     
        var printers = aplt.getPrinterNames();
        var p = printers.split(',');
        var c = document.getElementById("combo");
        for ( var i = 0; i < p.length; i++) {
            var o = document.createElement("option");
            o.text = p[i];
            o.value = i;
            try {
                c.add(o, null); //Standard 
            } catch (error) {
                c.add(o); // IE only
            }
        }
    }   
    //]]>
</script> 
于 2013-02-01T15:37:54.027 に答える
1

html/jsp で object id タグを使用する

<object id="appletId" type="application/x-java-applet" 

プリンターのリストを取得するには、applet メソッドを呼び出す必要があります

<script type="text/javascript">
function getPrinters(){
    return appletId.getPrinters();
}
</script>

アプレットには、getPrinters文字列の配列を返す public メソッドがあると想定しています。

于 2013-01-26T11:39:12.690 に答える
1

ブラウザーのコンボ ボックスを使用しないでください。JComboBoxまたはChoiceをアプレットで直接使用すると、外出せずにすべてを実行できます。@Roman C で説明されているように可能ですが、説明するタスクには複雑すぎるようです。

于 2013-01-26T11:40:28.173 に答える