Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    15

    Inserire link al web

    Come faccio ad inserire in un mio programma java un pulsante o un testo cliccabile che una volta cliccato avvii il browser e porti ad una pagina da me scelta?
    Grazie

  2. #2
    Ti posto la classe che ho scritto tempo fa. Questa classe controlla il sistema operativo in uso e in base ad esso apre il browser predefinito a seconda del sistema operativo. Basta che nella actionPerformed del pulsante richiami il metodo displayURL passandogli l'url da aprire:

    codice:
    import java.io.IOException;
    public class BrowserControl{
        
        // Indentifica WINDOWS.
        private static final String WIN_ID = "Windows";
        // Il browser predefinito sotto WINDOWS
        private static final String WIN_PATH = "rundll32";
        // Flag per mostrare l'url
        private static final String WIN_FLAG = "url.dll,FileProtocolHandler";
        // Il broswer di default per UNIX
        private static final String UNIX_PATH = "netscape";
        // Flag per mostrare l'url
        private static final String UNIX_FLAG = "-remote openURL";
        
        public static void displayURL(String url){
            boolean windows = isWindowsPlatform();
            String cmd = null;
            try{
                if (windows){
                    // Il comando da lanciare è cmd = 'rundll32 url.dll,FileProtocolHandler http://...'
                    cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
                    Process p = Runtime.getRuntime().exec(cmd);
                }else{
                    // Sotto UNIX, Netscape deve essere avviato col comando "-remote"
                    // per funzionare.  Invio il comando e recupero l'exit value.
                    // Se questo è 0, il comando ha funzionato, altrimenti si deve avviare il browser
                    // Il comando da eseguire è: cmd = 'netscape -remote openURL(http://....)'
                    cmd = UNIX_PATH + " " + UNIX_FLAG + "(" + url + ")";
                    Process p = Runtime.getRuntime().exec(cmd);
                    try{
                        // attendo l'exit vaue
                        int exitCode = p.waitFor();
                        if (exitCode != 0){
                            // Comando fallito, avvia il browser col comando:
                            // cmd = 'netscape http://....'
                            cmd = UNIX_PATH + " "  + url;
                            p = Runtime.getRuntime().exec(cmd);
                        }
                    }
                    catch(InterruptedException x){
                        System.err.println("Errore avviando il browser, cmd='" +
                                           cmd + "'");
                        System.err.println("Eccezione: " + x);
                    }
                }
            }
            catch(IOException x){
                // Impossibile eseguire il browser
                System.err.println("Impossibile aprire il browser, command=" + cmd);
                System.err.println("Eccezione: " + x);
            }
        }
        
    
        public static boolean isWindowsPlatform(){
            String os = System.getProperty("os.name");
            if ( os != null && os.startsWith(WIN_ID))
                return true;
            else
                return false;
        }
    
    
    }
    Al mio segnale... scatenate l'inferno!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    15
    Ti ringrazio! Ora provo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.