Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [JAVA - SplashScreen]

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347

    [JAVA - SplashScreen]

    Buongiorno a tutti,
    ho realizzato un piccolo splashscreen che estende JWindow.
    Esso viene visualizzato per l'attesa del calcolo di alcune cose. Quando parte il calcolo e quindi anche lo splash, non mi viene visualizzato, o meglio si vede che si apre un qualcosa ma dentro non c'è niente (e si sporca mouvendoci sopra altre finestre).
    qualcuno mi sa dire come posso risolvere?
    ringrazio
    nh

  2. #2
    Usi un altro thread per effettuare il "calcolo" ?
    Molto probabilmente no e quindi il thread che esegue il calcolo non può gestire anche l'interfaccia grafica (splashscreen). La soluzione, esegui il calcolo in thread separto; dai un occhio alla classe swingWorker.
    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    Hai ragione, non usavo threads...
    Sto provando a farlo con il threads ma non ci resco...continua a vedersi male.
    Ti dico cosa sto facendo:
    - Ho implementato, nella classe che estende il JWindow(proprio lo splask), l'interfaccia Runnable.
    codice:
    public class Splash extends JWindow implements Runnable{
        private Thread start;
    
        public void start(){
            //inizializzo il thread che farà partire la classe passandogli come parametro la classe stessa.
            this.start=new Thread(this);
            this.start.start();
        }
        
        public void run(){
            showSplash() ;    }
    
    public void showSplash() {
    // costruisco il pannello e lo visualizzo
    }
    
    }
    e poi chiamo lo start().

    Continua a vedersi male...e capisco che qualcosa non va.
    Quancuno sa dirmi dove sbaglio?
    Ringrazion
    nh

  4. #4
    Sbagli come ti dicevo prima devi creare un thread per il calcolo non per lo spash screen.
    Esempio:
    codice:
    public class Task extends Thread
    {
    public void run(){
            eseguo il calcolo complesso
    }
    
    }
    
    //METODO DA CUI RICHIAMARLA
    public void actionPerformed()
    {
      Thread thread = new Task();
      thread.start();
      //CODICE PER FAR VEDERE LO SPLASH SCREEN
      showSplashScreen(); 
    }
    Spero di essere stato chiaro

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    347
    scusa una cosa, perchè non posso creare il thread per lo splashscreen e lascisare il calcolo sul thread corrente?

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.