PDA

Visualizza la versione completa : [JAVA] Utilizzare JavaScript da una applet


Neocron
09-08-2005, 16:29
Ciao a tutti! Avrei bisogno di utilizzare javascript dalla mia applet, il metodo disponibile sembra essere LiveConnect ideato da Netscape. Cercando in giro, non sono riuscito a capire come far funzionare questo meccanismo...

Dicono che dovrei importare l'sdk di liveconnect, che sarebbe compatibile con i browser più recenti. Ma se installo l'sdk, poi ho bisogno di portarmi, insieme al codice dell'applet, anche le classi di liveconnect? Lo chiedo perchè dicono che in java sia già incluso l'intemprete, ma che nell'sdk le classi non vengano rilasciate... :confused: :master: :confused:

Sono leggermente confuso, potreste darmi delle delucidazioni e magari qualche link o tutorial?

Grazie infinite. :ciauz:

Andrea1979
09-08-2005, 18:47
Qualche tempo fa era stata fatta una domanda simile ed avevo del codice pronto... ho solo aggiunto per prova il bottone Write all'applet ed una relativa funzione javascript nel file html. Ecco il codice, magari puoi trarne ispirazione: come puoi vedere, accedi agli script con AppletContext.showDocument.
Facci sapere come va, potrebbe interessare altri lettori. Ciao!!

Applet


import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class provaJavascript extends JApplet {

ActionListener google, yahoo, write;
JButton Google, Yahoo, Write;
AppletContext ac;

public void init() {
ac = this.getAppletContext();
createButtons();
this.setLayout(new GridLayout(3,1));
this.add(Google);
this.add(Yahoo);
this.add(Write);
}

private void createButtons() {
Google = new JButton("GoOgle");
Yahoo = new JButton("Yahoo!");
Write = new JButton("Javascript");

google = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
try {
ac.showDocument(new java.net.URL("javascript:window.myopen('http://www.google.com','my_window','width=600, height=400')"));
}
catch (Exception e) { ac.showStatus(e.toString());}
}
};

yahoo = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
try {
ac.showDocument(new java.net.URL("javascript:window.myopen('http://www.yahoo.com','my_window','width=600, height=400');"));
}
catch (Exception e) { ac.showStatus(e.toString());}
}
};

write = new ActionListener() {
public void actionPerformed(ActionEvent ae) {
try {
ac.showDocument(new java.net.URL("javascript:window.scrivi('Scritto da Javascript via Java')"));
}
catch (Exception e) { ac.showStatus(e.toString()); }
}
};


Google.addActionListener(google);
Yahoo.addActionListener(yahoo);
Write.addActionListener(write);

}
}

HTML


<html>
<head>
<title>Prova javascript da Applet</title>
<script type="text/javascript" language="javascript">

function myopen(url, name, feats) {
window.open(url, name, feats);
}

function scrivi(t) {
document.myform.testo.value=t;
}
</script>
</head>
<body>
<applet height="200" width="300" code="htmit/provaJavascript.class">
</applet>
<form action="" method="" name="myform">
<input type="text" name="testo">
</form>
</body>
</html>

Neocron
10-08-2005, 13:11
Grazie infinite! Ma per la compatibilità? tutti i browser?

Andrea1979
10-08-2005, 16:21
ho provato su IE e FF (tutto su windows xp pro) e va... altro non ti so dire perché non ho altre piattaforme/browsers su cui fare prove.

Neocron
11-08-2005, 13:14
grazie infinite :)

Loading