Non so quale applet sia, però questo sistema funziona:
APPLET
codice:
import javax.swing.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class provaJavascript extends JApplet {
ActionListener google, yahoo;
JButton Google, Yahoo;
AppletContext ac;
public void init() {
ac = this.getAppletContext();
createButtons();
this.setLayout(new GridLayout(2,1));
this.add(Google);
this.add(Yahoo);
}
private void createButtons() {
Google = new JButton("GoOgle");
Yahoo = new JButton("Yahoo!");
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());}
}
};
Google.addActionListener(google);
Yahoo.addActionListener(yahoo);
}
}
Pagina HTML
codice:
<html>
<head>
<title>Prova javascript da Applet</title>
<script type="text/javascript" language="javascript">
function myopen(url, name, feats) {
window.open(url, name, feats);
}
</script>
</head>
<body>
<applet height="200" width="300" code="htmit/provaJavascript.class">
</applet>
</body>
</html>
Avevo provato anche ad invocare direttamente dall'applet
codice:
new URL("javascript:window.open(...);");
ma per qualche ragione a me ignota, oltre ad aprirmi la pagina in popup, mi reindirizzava la pagina con l'applet a
javascript:window.open(...);
Ottenendo quindi un Window [Object] o roba del genere.
Prova a vedere se anche nella tua applet funziona.
In bocca al lupo.
Ciao
EDIT
bada che nel codice dell'applet, la parola javascript risulta disgiunta (java script), chiaramente dovrà andare tutta unita.