Hallo,
ich habe für mich ein System erstellt wie ich die GUI-oberflächen ansteuere, bei welchem ich auf verbesserungsvorschläge hoffe
In diesem Thread soll es nur darum gehen wie und wo man am besten den Thread der GUI starten soll um möglichst nicht fehleranfällig zu sein.
Nehmen wir an ich habe ein JFrame was von einem Controller gesteuert wird:
Das JFrame ist an der stelle nicht Runnable sondern der Controller der diesen implementiert
Fallen euch irgendwelche mängel auf, die beim späteren Programmablauf fehler, im bezug auf Threads(EventQueue.invokeAndWait), verursachen könnten??
Einen Lösungsansatz hätte ich, und zwar könnte man eine ImplementierungsKlasse schreiben die dann den Controller Implementiert und den Thread startet.
z.B.:
Habt ihr da bessere lösungen im bezug auf GUI und Threads ??
ich habe für mich ein System erstellt wie ich die GUI-oberflächen ansteuere, bei welchem ich auf verbesserungsvorschläge hoffe
In diesem Thread soll es nur darum gehen wie und wo man am besten den Thread der GUI starten soll um möglichst nicht fehleranfällig zu sein.
Nehmen wir an ich habe ein JFrame was von einem Controller gesteuert wird:
Das JFrame ist an der stelle nicht Runnable sondern der Controller der diesen implementiert
Java:
public class Controller implements Runnable{
private MyJF myJF;
public Controller(){
try{
EventQueue.invokeAndWait(this);
}catch(InterruptedException e){
//TODO Fehlerbehandlung
}catch(InvocationTargetException e){
//TODO Fehlerbehandlung
}
}
private void init() {
try {
this.myJF = new MyJF();
this.myJF.setVisible(false);
} catch (Exception e) {
//TODO Fehlerbehandlung
}
}
public void setVisible(Boolean _visible){
this.myJF.setVisible(_visible);
}
@Override
public void run() {
init();
}
}
Fallen euch irgendwelche mängel auf, die beim späteren Programmablauf fehler, im bezug auf Threads(EventQueue.invokeAndWait), verursachen könnten??
Einen Lösungsansatz hätte ich, und zwar könnte man eine ImplementierungsKlasse schreiben die dann den Controller Implementiert und den Thread startet.
z.B.:
Java:
public class ImplProgram{
public static Controller implController(){
Controller controller = new Controller();
// Dieser block würde dann natürlich in der ControllerClasse wegfallen
try{
EventQueue.invokeAndWait(controller);
}catch(InterruptedException e){
//TODO Fehlerbehandlung
}catch(InvocationTargetException e){
//TODO Fehlerbehandlung
}
return controller;
}
}
Habt ihr da bessere lösungen im bezug auf GUI und Threads ??
Zuletzt bearbeitet: