mercredi 3 juin 2015
Swing GUI extrem langsam - GUI-Code richtig ausführen
Posted on 08:31 by verona
Hallo,
Das hier ist mein erstes GUI Projekt.
Ich habe eine (statisch genutzte) GUI-Klasse mit einer statischen Methode die von einer
anderen Klasse in ihrer main-Methode aufgerufen wird.
Die Klasse enthällt die GUI-Komponenten als statische Attribute und eine innere Klasse
die ActionListener implementiert.
Von diesem ActionListener erzeuge ich im Konstruktor zusammen mit den GUI-Komponenten ein Objekt.
Das Listener-Objekt übergebe ich per add... an mehrere Buttons.
Es führt abhängig vom ActionCommand der Buttonevents per switch-Anweisung unterschiedliche Befehle aus.
In einem Befehl wird ein neuer JLabel erzeugt und dem Fenster hinzugefügt.
Ein ActionEvent soll eine Schrift im Fenster erzeugen was erst nach 10-30 Sekunden passiert und oft nur dann überhaupt erscheint wenn man das Fenster minimiert und dann wieder maximiert.
Woran mag es liegen ? Vielleicht wird der Code in einem nicht geeigneten Thread ausgeführt oder liegt es wirklich an der Art der Implementierung...
Andere Klasse
Das hier ist mein erstes GUI Projekt.
Ich habe eine (statisch genutzte) GUI-Klasse mit einer statischen Methode die von einer
anderen Klasse in ihrer main-Methode aufgerufen wird.
Die Klasse enthällt die GUI-Komponenten als statische Attribute und eine innere Klasse
die ActionListener implementiert.
Von diesem ActionListener erzeuge ich im Konstruktor zusammen mit den GUI-Komponenten ein Objekt.
Das Listener-Objekt übergebe ich per add... an mehrere Buttons.
Es führt abhängig vom ActionCommand der Buttonevents per switch-Anweisung unterschiedliche Befehle aus.
In einem Befehl wird ein neuer JLabel erzeugt und dem Fenster hinzugefügt.
Ein ActionEvent soll eine Schrift im Fenster erzeugen was erst nach 10-30 Sekunden passiert und oft nur dann überhaupt erscheint wenn man das Fenster minimiert und dann wieder maximiert.
Woran mag es liegen ? Vielleicht wird der Code in einem nicht geeigneten Thread ausgeführt oder liegt es wirklich an der Art der Implementierung...
Java Code:
-
public class KundeUI
-
{
-
-
//import Anweisungen sind hier weggelassen
-
-
//---------------------------------------------------------------
-
{
-
{
-
switch(s)
-
{
-
case "one": KundeUI.button.setText("gut");
-
break;
-
-
script.setBounds(100, 100,100,100);
-
First.getContentPane().add(script);
-
break;
-
default: KundeUI.button.setEnabled(false);
-
}
-
-
}
-
}
-
-
public static void token() {
-
-
Watcher w = new Watcher();
-
-
First.setSize(800, 600);
-
First.setVisible(true);
-
First.setLocationRelativeTo(null);
-
First.setLayout(null);
-
-
First.setTitle("First");
-
-
First.getContentPane().add(test);
-
test.setBounds(100, 100, 100, 200);
-
-
second.setBounds(600, 100, 60, 30);
-
second.setActionCommand("sec");
-
second.addActionListener(w);
-
-
First.add(second);
-
-
-
-
one.setBounds(10,10,80,150);
-
one.addActionListener(w);
-
one.setActionCommand("one");
-
main.setBounds(1, 529, 70, 40);
-
main.setEditable(true);
-
First.getContentPane().add(one);
-
First.getContentPane().add(main);
-
-
-
button.setBounds(500, 50, 80, 150);
-
First.getContentPane().add(button);
-
-
button.addActionListener(w);
-
-
//Das ist alles nur testweise zu verstehen
-
}
-
}
Andere Klasse
Java Code:
-
public class Start {
-
-
-
KundeUI.token();
-
-
}
-
-
}
Swing GUI extrem langsam - GUI-Code richtig ausführen
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire