Wenn ich eine GUI baue, habe ich die Möglichkeit, eine Subklasse der Klasse JFrame zu erstellen, oder gar in meiner Klasse einfach eine JFrame-Instanz zu erzeugen und mit dieser arbeiten.
oder
Nun, wann wird die erste Variante empfohlen und wann die zweite?
Die erste:
Ich sehe keine klare Grenze zwischen den beiden Varianten. Gibt es da bessere Pro und Contras? Oder, ist es fast eine Geschmackssache?
Java:
public class MyFrame extends JFrame {
// ...
}
oder
Java:
public class MyAppGUI {
createGui() {
JFrame myFrame = new JFrame("XYZ");
// ...
}
}
Nun, wann wird die erste Variante empfohlen und wann die zweite?
Die erste:
- Wenn ich z. B. das Eventhandling in der GUI-Klasse (gekapselt) implementieren möchte
- Wenn ich einen solchen JFrame mit zusätzlichen Fähgkeiten versehen möchte und ihn unter Umständen mehrfach verwenden möchte?
- Wenn ich auf die in der GUI-Klasse enthaltene Komponenten von Aussen zugreiffen muss (z. B. aus dem Eventhandler, der in einer separaten TopLevel-Klasse implementiert wird) und dazu einen kontrollierten Zugriff brauche
- ...
Ich sehe keine klare Grenze zwischen den beiden Varianten. Gibt es da bessere Pro und Contras? Oder, ist es fast eine Geschmackssache?