Guten Tag,
ich habe ein Programm geschrieben, welches recht umfangreich und vor allem Lang ist, was eine lange Startzeit mit sich bringt.
Mein Programm besteht aus einem Frame, in das je nach Bedarf (Button druck), ein anderes Panel geladen wird. Ich habe nun recht viele Panel, und wenn ich die am Anfang alle Aufrufe, dann benötigt das Programm ganz 1:30 min, um zu starten (da er erst die Klassen lädt und dann das Frame sichtbar macht). Das doofe daran ist, dass während dieser Zeit kein Feedback kommt. Und wenn man nicht weiß, dass das Programm so lange zum starten braucht, denkt man, es startet nicht.
Ich habe bereits Versucht, die Klassen erst auf Buttondruck zu laden (so braucht das Programm nur 10 sec. zum starten), allerdings passiert dann im Programm nichts, bis das Panel fertig geladen ist (was bei 20k Zeilen Code schon eine Weile dauert).
Aus diesem Grund dachte ich mir, dass jedes Panel einem Thread zugeordnet wird. Und bei Programmstart parallel gestartet wird.
Da habe ich nun die Frage, wie ich auf Buttondruck das Panel aus dem Thread sichtbar mache.
Um einen Thread zu erstellen benutzt man ja standart mäßig:
Ist mein Denkansatz richtig? Bzw. gibt es bessere Vorschläge?
Falls der Ansatz richtig sein sollte, wie rufe ich das Panel aus dem Thread auf? (so als würde ich normal eine Klasse instanziieren?)
MfG
mirisbowring
ich habe ein Programm geschrieben, welches recht umfangreich und vor allem Lang ist, was eine lange Startzeit mit sich bringt.
Mein Programm besteht aus einem Frame, in das je nach Bedarf (Button druck), ein anderes Panel geladen wird. Ich habe nun recht viele Panel, und wenn ich die am Anfang alle Aufrufe, dann benötigt das Programm ganz 1:30 min, um zu starten (da er erst die Klassen lädt und dann das Frame sichtbar macht). Das doofe daran ist, dass während dieser Zeit kein Feedback kommt. Und wenn man nicht weiß, dass das Programm so lange zum starten braucht, denkt man, es startet nicht.
Ich habe bereits Versucht, die Klassen erst auf Buttondruck zu laden (so braucht das Programm nur 10 sec. zum starten), allerdings passiert dann im Programm nichts, bis das Panel fertig geladen ist (was bei 20k Zeilen Code schon eine Weile dauert).
Aus diesem Grund dachte ich mir, dass jedes Panel einem Thread zugeordnet wird. Und bei Programmstart parallel gestartet wird.
Da habe ich nun die Frage, wie ich auf Buttondruck das Panel aus dem Thread sichtbar mache.
Um einen Thread zu erstellen benutzt man ja standart mäßig:
Java:
Thread BeiMirPanel1 = new Thread(Panel1());
BeiMirPanel1.start();
Ist mein Denkansatz richtig? Bzw. gibt es bessere Vorschläge?
Falls der Ansatz richtig sein sollte, wie rufe ich das Panel aus dem Thread auf? (so als würde ich normal eine Klasse instanziieren?)
MfG
mirisbowring