Hallo Forum,
vorweg, ich habe schon hier gesucht, komme aber irgendwie nicht klar.
Ich möchte den Ladestatus meiner GUI im SplashScreen darstellen.
Hier mal der Code der Main Klasse:
Jetzt meine Fragen
In
wird das Fenster ja schon bei tw = new TransparentWindow() initialisiert und dann nur bei tsplash.run angezeigt.
Sollte ich lieber das Initialisieren durch die tsplash.run() - Methode aufrufen und am Ende this.setVisible(true) setzen.
Wie bekomme ich heraus, wie lange der Thread zum Initialisieren des MainFrames brauch, und wie setze ich dann das Value der JProgressbar im Splashscreen.
Damit meine ich nicht tw.setValue(int i); sondern was in int i reinkommt.
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt.
Danke
Tom
vorweg, ich habe schon hier gesucht, komme aber irgendwie nicht klar.
Ich möchte den Ladestatus meiner GUI im SplashScreen darstellen.
Hier mal der Code der Main Klasse:
Code:
package sys;
import java.io.File;
import sys.cls.IniRecource;
import sys.frm.TransparentWindow;
import sys.frm.MainFrame;
import javax.swing.*;
public class Main {
/* Konstanten definition */
public static boolean DEBUG_STATE = true;
public static String PATH_TO_INI = System.getProperty("user.dir") + File.separator + "ini.xml";
public static IniRecource INI_RESOURCE = new IniRecource(PATH_TO_INI);
/*variablen deklarieren */
private Thread tIni,tSplash,tMainFrame;
private TransparentWindow tw;
private MainFrame mf;
/** Creates a new instance of Main */
public Main() {
System.out.println("Starte CP JImageResizer");
//Splashscreen öffnen
tw = new TransparentWindow();// Initialisieren des Fensters
tSplash = new Thread(tw);
tSplash.run(); //anzeigen des Fensters this.setVisible(true);
//Ini.xml lesen
tIni = new Thread(INI_RESOURCE);
tIni.run();
// GUI erzeugen
mf = new MainFrame(); //Initialisieren des Fensters
tMainFrame = new Thread(mf); //Initialisieren des Threads
tMainFrame.run(); //Fenster anzeigen this.setVisible(true);
tw.stop(); //ausblenden des SplashScreens this.setVisible(false);
tSplash.interrupt(); // beenden des tSplash Threads
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
new Main();
}
}
Jetzt meine Fragen
In
Code:
//Splashscreen öffnen
tw = new TransparentWindow();// Initialisieren des Fensters
tsplash = new Thread(tw);
tsplash.run(); //anzeigen des Fensters this.setVisible(true);
wird das Fenster ja schon bei tw = new TransparentWindow() initialisiert und dann nur bei tsplash.run angezeigt.
Sollte ich lieber das Initialisieren durch die tsplash.run() - Methode aufrufen und am Ende this.setVisible(true) setzen.
Wie bekomme ich heraus, wie lange der Thread zum Initialisieren des MainFrames brauch, und wie setze ich dann das Value der JProgressbar im Splashscreen.
Damit meine ich nicht tw.setValue(int i); sondern was in int i reinkommt.
Ich hoffe ich habe mich halbwegs verständlich ausgedrückt.
Danke
Tom