verwenden deployJava.js zum Aufruf von java-Methoden in javascript

Möchte ich java-Methoden aufrufen in javascript und Andrew Thompson vorgeschlagen, die deployJava.js Bibliothek für diese. Ich folgte dieser Anleitung:
http://docs.oracle.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html

Hier wird erklärt, wie man die java Klasse in javascript, aber ich würde gerne die java-Methoden innerhalb der javascript-Dateien. (Dies ist, weil ich will, zu importieren .owl-Datei in java-en export der Daten im json-format, um meinen code in javascript geschrieben.)
Weiß jemand, wie dies mit der deployJava Bibliothek?

Dies ist mein code zum importieren der java-Datei:

<noscript>A browser with JavaScript enabled is required for this page to operate properly.</noscript>
    <h1>Sending Messages to Other Applets</h1>
    <script>
        function sendMsgToIncrementCounter() {
        receiver.incrementCounter();
    }
</script>

<p>Sender Applet</p>
<script>
    var attributes = { id:'sender', code:'Sender.class', width:300, height:50} ;
    var parameters = {} ;
    deployJava.runApplet(attributes, parameters, '1.6');
</script>
<br/>
<br/>
<p>Receiver Applet</p>
<script>
    var attributes = { id:'receiver', code:'../Receiver.class', width:300, height:50} ;
    var parameters = {} ;
    deployJava.runApplet(attributes, parameters, '1.6');
</script>

- und dies ist die Absender-und Empfänger-java-Dateien:

import javax.swing.*;

public class Receiver extends JApplet {
    private int ctr = 0;
    private JLabel  ctrLbl = null;

    public void init() {
        //Execute a job on the event-dispatching thread; creating this applet's GUI.
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {             
                    ctrLbl = new JLabel("");
                    add(ctrLbl);
                }
            });
        } catch (Exception e) {
            System.err.println("Could not create applet's GUI");
        }
    }

    public void incrementCounter() {
        ctr++;
        String text = " Current Value Of Counter: " + (new Integer(ctr)).toString();
        ctrLbl.setText(text);
    }
}

import javax.swing.*;

import java.das awt.event.;
import netscape.javascript.
;

public class Sender extends JApplet implements ActionListener {

public void init() {
    //Execute a job on the event-dispatching thread; creating this applet's GUI.
    try {
        final ActionListener al = this;
        SwingUtilities.invokeAndWait(new Runnable() {
            public void run() {
                JButton btn = new JButton("Click To Increment Counter");
                add(btn);
                btn.addActionListener(al);
            }
        });
    } catch (Exception e) {
        System.err.println("createGUI didn't complete successfully");
    }
}

public void actionPerformed(ActionEvent e) {
    try {
        JSObject window = JSObject.getWindow(this);
        window.eval("sendMsgToIncrementCounter()");
    } catch (JSException jse) {
        jse.printStackTrace();
    }
}

}

Ich nur copy-paste diese aus dem Beispiel auf dieser Seite:
http://docs.oracle.com/javase/tutorial/deployment/applet/iac.html
Dieses Beispiel funktioniert perfekt in meinem browser, so wie es geschehen ist, ist richtig, aber ich vermute, dass ich nicht importieren Sie die javafiles korrekt, denn dies sind die Fehler, aus je java-Konsole:

load: class Sender.class not found.
java.lang.ClassNotFoundException: Sender.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:195)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:690)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
    at java.lang.Thread.run(Thread.java:680)
Exception: java.lang.ClassNotFoundException: Sender.class
  • Als beiseite. Ist das ein server/client wie vorgeschlagen von der Klasse Namen? Wenn ja, schau mal in die 3 Methoden in AppletContext, die "stream" - im Namen. Sie erlauben den applets in der selben JRE, um direkt miteinander kommunizieren.
  • Auch, wenn Sie entdeckt die Antwort, geben Sie diese bitte als 'Antwort' & akzeptieren Sie es.
InformationsquelleAutor JasperTack | 2012-03-30
Schreibe einen Kommentar