Entra

View Full Version : [JAVA] Aprire pagina web da applet


drinkredbull
10-04-2009, 09:34
Ciao a tutti, torno alla carica con un'altra domanda.
Dovrei riuscire ad aprire una pagina web(e quindi anche il browser ovviamente...) da un'applet java.
Ho letto una vecchia discussione presente su questo forum e quindi ho provato a fare un'exec.

public void mouseClicked(MouseEvent e) {
try{
Runtime.getRuntime().exec("C:\\Programmi\\Mozilla Firefox\\firefox.exe www.google.it");}
catch(IOException q){}
}

In teoria, dovrebbe aprimi il il browser quando clicco sull'applet(ho già verificato che la gestione degli eventi funzioni). Ho provato sia con Mozzilla che con IE, ma non accade nulla, il programma va avnti senza che nulla succeda.

Ho provato anche in questo modo:
Desktop.getDesktop().browse(uri);
Putroppo mi è però risultato difficile dichiarare l'URI...:doh: :muro: :help:

Qualcuno può darmi una mano perpiacre?
Grazie!

PGI-Bis
10-04-2009, 14:52
In un Applet (java.applet.Applet o javax.swing.JApplet):

getAppletContext().show(URL);

Nel caso di google sarebbe:

URL url = null;
try {
url = new URL("http://www.google.it");
} catch(MalformedURLException ex) {
System.err.println("URL è buggato!");
}
if(url != null) {
getAppletContext().showDocument(url);
}

L'uso di Desktop è soggetto a restrizioni di sicurezza e la sandbox predefinita degli Applet...restringe. Per usare Desktop.open in un Applet dovresti prima firmarla, probabilmente con un auto-certificato, il che consentirebbe all'utente di eseguire l'Applet solo dopo aver gridato "banzai".

drinkredbull
10-04-2009, 16:03
In un Applet (java.applet.Applet o javax.swing.JApplet):

getAppletContext().show(URL);

Nel caso di google sarebbe:

URL url = null;
try {
url = new URL("http://www.google.it");
} catch(MalformedURLException ex) {
System.err.println("URL è buggato!");
}
if(url != null) {
getAppletContext().showDocument(url);
}

L'uso di Desktop è soggetto a restrizioni di sicurezza e la sandbox predefinita degli Applet...restringe. Per usare Desktop.open in un Applet dovresti prima firmarla, probabilmente con un auto-certificato, il che consentirebbe all'utente di eseguire l'Applet solo dopo aver gridato "banzai".

Grazie, comuque fortunatamente ero riuscito a trovare lo stesso il metodo getAppletContext().
Ti ringrazio lo stesso per l'attenzione e l'aiuto!