Grundsatzfrage GUI-Design

Hallo zusammen,

die letzten Tage habe ich damit zugebracht, mich etwas in das Thema GUI-Design einzulesen.
In der Regel benutze ich ja ein JFrame, einen JDialog oder ein JApplet als Basis für mein GUI (Kann man das überhaupt so sagen?).
Nun stelle ich mir die Frage, ob ich einfach das Standard-Frame benutze oder ob ich mir eine Klasse davon ableite.
Was ist die Vorgehensweise?

Danke
 
Hi,

In der Regel benutze ich ja ein JFrame, einen JDialog oder ein JApplet als Basis für mein GUI (Kann man das überhaupt so sagen?).

ob die "die Grafische Benutzeroberfläche" oder "das Graphical User Interface" ist eigentlich egal, die GUI hat sich (jedenfalls in meinem Umfeld) "eingedeutscht". 😉

Nun stelle ich mir die Frage, ob ich einfach das Standard-Frame benutze oder ob ich mir eine Klasse davon ableite.

Genau, ableiten. Falls du nicht weißt, wie die Klasse dann auszusehen hat, damit sie anständig funzt, nimm einen GUI-Editor (Eclipse, NetBeans, ...) und schau dir dort an, wie so eine angefertigte Klasse aussieht. Meistens bauen aber die Editoren noch zusätzlichen SchnickSchnack rein, lass dich von dem nicht irritieren.

edit: verklickt 😉
 
Zuletzt bearbeitet:
ob die "die Grafische Benutzeroberfläche" oder "das Graphical User Interface" ist eigentlich egal, die GUI hat sich (jedenfalls in meinem Umfeld) "eingedeutscht". 😉
War vermutlich eher auf "Basis für mein GUI" bezogen, als auf die Gramatik.

Genau, ableiten. Falls du nicht weißt, wie die Klasse dann auszusehen hat, damit sie anständig funzt, nimm einen GUI-Editor (Eclipse, NetBeans, ...) und schau dir dort an, wie so eine angefertigte Klasse aussieht.

Nö und nö.
Kann man pauschal nicht sagen. Hängt immer mit der Aufgabe etc zusammen. Wozu irgendwas ableiten, wenn du die Funktionalität nicht erweitern willst?
Zum zweiten nö: Finger weg von GUI Editoren. Du solltest am Anfang lernen was da überhaupt passiert und nicht sinnlos klickibunti wir was zusammenschustern.
Und Eclipse, NetBeans sind keine GUI Editoren...
 
War vermutlich eher auf "Basis für mein GUI" bezogen, als auf die Gramatik.

Genau, die Frage war eigentlich, ob ich sagen kann, dass einer der 3 Top-Level Container die Basis meiner GUI ist.

Nö und nö.
Kann man pauschal nicht sagen. Hängt immer mit der Aufgabe etc zusammen. Wozu irgendwas ableiten, wenn du die Funktionalität nicht erweitern willst?

Also so pauschal fällt mir jetzt z.B. nicht ein, weshalb oder auch wie ich etwas an einem Fenster ändern sollte.
Das würde aber auch bedeuten, dass ich dann in der Regel so vorgehe, dass ich ein Klasse MeinProgrammGui habe, die die Main-Methode beinhaltet und das ganze ins Rollen bringt. Ist das ein möglicher Ansatz?
Wo kann ich mal ein Beispiel für eine etwas komplexere GUI sehen?
 
Ich kann mir kaum einen Fall vorstellen, wo es sinnvoll ist, von JFrame zu erben. Vielleicht wenn man noch ein bißchen mit Tool- und MenuBar und ein paar Glasspanes rumhantieren will, aber auch dann sollte diese von JFrame abgeleitete Klasse nicht viel mehr machen, als die anderen eigenen Klassen zu insantiieren und in den JFrame zu legen. Der "Hauptteil" eines GUI liegt (speziell bei einfachen GUIs, aber später meistens auch noch) in einer von JPanel abgeleiteten Klasse, die man als einzige in das ContentPane eines JFrames legt.
 
Nachdem ich nun eine Nacht drüber geschlafen habe, würde ich es jetzt so machen, dass ich eine Klasse MeinProgrammGUI habe, welche ein Frame instaziert und dem ich dann meine Komponenten hinzufüge. Diese sind dann gegebenenfalls abgeleitet und an meine Bedürfnisse angepasst.
Jetzt habe ich eigentlich nur noch die Frage, ob dies auch die normale herangehensweise ist.
 

Zurück
Oben