Grundlegende Idee für GUI

selmaohneh

Mitglied
Moin!

Ich habe bisher einige GUIs geschrieben, bei denen ich neue Fenster mittels Klasse frame = new Klasse(); frame.setVisible(); geöffnet habe. Mit einem dispose(); konnte ich auch den alten JFrame einfach beenden. Dies lief soweit immer gut...

Nun möchte ich eine GUI schreiben, in der sich alles in einer JFrame abspielt. Ich möchte ein Menü bauen und je nachdem, was gewählt wird, ändern sich die Elemente im Panel. Wie realisiere ich dies am besten? Baue ich mir ganz viele übereinanderliegende Panel und blende diese dann nur ein/aus? Oder gibt es da eine elegantere Lösung?

Danke im Voraus!
 

BRoll

Bekanntes Mitglied
Ich machs immer so, dass ich ein ContentPanel bastel,
dass je nach Zustand und Ort der GUI verändert wird.

Dh. die verschiedenen Menüzustände als eigene Klasse und alle von
JPanel erben lassen.

Dann kannst im Frame die immer austauschen mit add() und remove()
oder je nachdem setContentPanel().

Also nicht ganz viel übereinander und Sichtbarkeit ändern, sondern einfach
zur Laufzeit den Inhalt wechseln des Fensters.
 

kaoZ

Top Contributor
Ich hatte vor kurzem das gleiche Problem, angefangen habe ich damit das ich mir eine Utilityklasse (FrameFactory) erstellt habe , der ich zum Erzeugen eines JFrames im Konstruktor gleich schon die wichtigsten Parameter übergeben kann, und mir dann einfach über eine Statische Hilfsmethode ein Frame erzeugen lasse.

Java:
import javax.swing.JFrame;

/**
 * 
 * @author kaoZ
 *
 */

public class FrameFactory {

	public FrameFactory() {}
	
	/**
	 * 
	 * Creates a new JFrame with following parameters
	 * 
	 * @param title The title of the Frame
	 * @param width Sets the width of the Frame
	 * @param height Sets the height of the Frame
	 * @param operation Sets the defaultCloseOperation
	 * @param extendedState Sets the State of the Frame
	 * @param component The component the Frame is relative to 
	 * @return The Constructed JFrame with parameters
	 */
	
	public static JFrame createFrame(String title, int width, int height, int operation, int extendedState, JFrame component){
		JFrame frame = new JFrame();
		
		frame.setTitle(title);
		frame.setSize(width, height);
		frame.setDefaultCloseOperation(operation);
		frame.setLocationRelativeTo(component);
		frame.setExtendedState(extendedState);
		
		return frame;
	}

}

Dies könntest du dann folgendermaßen verwenden :

Java:
frame = FrameFactory.createFrame(APP_TITLE, SCREEN_WIDTH, SCREEN_HEIGHT, 2, JFrame.MAXIMIZED_BOTH,  null);

Die Grundidee war das ich so an beliebiger stelle ohne viel aufwand ein Frame erzeugen kann welches ist über die Parameter schon steuern kann, wie etwa durch die angabe von
Code:
.setLocationRelativeTo();
, so könnte ich damit z.B auch einen unabhängig gestalteten Dialog oder ähnliches erzeugen, und die position direkt festlegen.

diesem Setze ich dann wie mein Vorposter schon geschrieben hat zentral ein JPanel als contentPane (mit spezifischem Layout) , und diesem füge ich dann, in Separaten Klassen definierte Container (JPanel) hinzu, ToolBar, MenuBar Statusbar usw.... wie eine Art Baukasten System um den Source Code nicht unnötig aufzublähen.

aber das ist auch nur ein Ansatz :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
L JavaFX - grundlegende Verständnisprobleme Java Basics - Anfänger-Themen 1
H grundlegende Fragen Java Basics - Anfänger-Themen 3
K Grundlegende Frag zu Java und OOP Java Basics - Anfänger-Themen 9
P LinkedList - Stack ... grundlegende Frage Java Basics - Anfänger-Themen 5
S Einige Grundlegende Begriffe Java Basics - Anfänger-Themen 6
L Grundlegende Verständnisfrage Hasmap Referenzen Java Basics - Anfänger-Themen 4
W Grundlegende Objektfrage Java Basics - Anfänger-Themen 5
Q Instanzvariablen implementieren - grundlegende Probleme Java Basics - Anfänger-Themen 3
S grundlegende schwierigkeiten Java Basics - Anfänger-Themen 11
G JSP - Bean Problem und grundlegende Fragen Java Basics - Anfänger-Themen 2
J Grundlegende Fragen Java Basics - Anfänger-Themen 2
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
C Idee für Programmierprojekt Java Basics - Anfänger-Themen 3
M Programm Idee Java Basics - Anfänger-Themen 10
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
S Projekt-Idee für testgetriebene Entwicklung gesucht Java Basics - Anfänger-Themen 2
J Erste Schritte If-Else Idee gesucht Java Basics - Anfänger-Themen 6
Noppy408 Erste Schritte Zoo - Idee eines Spiels Java Basics - Anfänger-Themen 38
M Muster erkennen. Idee: Fassade. Java Basics - Anfänger-Themen 3
J Große .txt einlesen - Idee? Java Basics - Anfänger-Themen 16
I Habe keine Idee was ich als Anfänger programmieren kann. Java Basics - Anfänger-Themen 4
Hamstinator public static. Gute Idee? Java Basics - Anfänger-Themen 6
A Grafik2d Objekte drehen, Idee da, Problem in Umsetzung Java Basics - Anfänger-Themen 3
S unschöne schleifen.jemand ne bessere idee Java Basics - Anfänger-Themen 4
S Hat jemand eine Idee warum die JLabels nicht mehr farbig Java Basics - Anfänger-Themen 7
G Idee bzw. Hilfe gesucht Java Basics - Anfänger-Themen 6
P Color (RETURN) Funktion brauche Idee. Java Basics - Anfänger-Themen 2
W Idee für: prüfen, ob String gültiges Datum darstellt? Java Basics - Anfänger-Themen 6
W Methoden java map ersatz für c++map Java Basics - Anfänger-Themen 2
A csv Reader für Java? Java Basics - Anfänger-Themen 27
S Bitte Ratschläge für Console-MenuFührung... Java Basics - Anfänger-Themen 20
tomzen Java Unterstützung für exel dateien installieren. Java Basics - Anfänger-Themen 2
M Code aus IntelliJ in "Textform" für Word-Paper? Java Basics - Anfänger-Themen 10
G Icon für App Java Basics - Anfänger-Themen 1
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
C negamax-Algorithmus für Tic-Tac-Toe spielt manchmal falsch Java Basics - Anfänger-Themen 10
D Apache HTTPClient für alle Fälle Java Basics - Anfänger-Themen 41
J Layout Manager, welcher ist der Richtige für mein Program? Java Basics - Anfänger-Themen 1
J Fehlermeldung unverständlich für Jakarta Java Basics - Anfänger-Themen 17
M Minimax-Algorithmus für Vier gewinnt Java Basics - Anfänger-Themen 11
M GUI für Vier-Gewinnt. Java Basics - Anfänger-Themen 4
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
R Operatoren Rechenoperation verwenden für Taschenrechner. Java Basics - Anfänger-Themen 32
Ostkreuz Counter für Booleanwerte Java Basics - Anfänger-Themen 8
B Regex Ausdrücke für Monate Java Basics - Anfänger-Themen 7
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
Jxhnny.lpz Randomisier für Buttons Java Basics - Anfänger-Themen 13
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Code für Bezahlsystem (auch bei Offline Aktivität) Java Basics - Anfänger-Themen 7
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
M monte carlo Algorithmus für 4 gewinnt Java Basics - Anfänger-Themen 12
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
izoards Sortier Algorithmus für Bounding Box Elememte Links nach Rechts und von Oben nach Unten Java Basics - Anfänger-Themen 33
M generate Methode für Streams Java Basics - Anfänger-Themen 6
I Datenmodell für "Tags" Java Basics - Anfänger-Themen 6
Lion.King for-Kontrollstruktur für Pyramide Java Basics - Anfänger-Themen 8
B Mit Countdown Midnestdauer für Teilaufgabenerledigung erzwingen Java Basics - Anfänger-Themen 8
J File length als Prüfwert für Download Java Basics - Anfänger-Themen 5
K Spieleidee gesucht für Informatikprojekt - JAVA (BlueJ)? Java Basics - Anfänger-Themen 15
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
javamanoman Java für Online Banking Java Basics - Anfänger-Themen 12
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
I SQL / JPA Query für StartDate und EndDate Java Basics - Anfänger-Themen 1
T getMethode für ein Array Java Basics - Anfänger-Themen 2
Fats Waller Farben mixen für den Hintergrund ? Java Basics - Anfänger-Themen 1
H Suche jemanden für kleine Uni-Abgabe/ mit Vergütung Java Basics - Anfänger-Themen 1
K Für was braucht man die left und right shift operatoren? Was bringen die, also welchen Zweck haben die? Java Basics - Anfänger-Themen 15
N Api nur für Textdatein (.txt) Java Basics - Anfänger-Themen 2
bluetrix Programmieren eines Bots für Zahlen-Brettspiel Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
R Ist Java das Richtige für mich? Java Basics - Anfänger-Themen 4
E Mittelquadratmethode für Hexadezimalzahlen Java Basics - Anfänger-Themen 1
P Einfacher regulärer Ausdruck (RegEx) für E-Mail-Adressen Java Basics - Anfänger-Themen 2
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
N Fehler im Code (Aufgabe für Anfänger) Java Basics - Anfänger-Themen 11
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
S BubbleSort für ArrayLists Java Basics - Anfänger-Themen 3
T Übungsbuch für Anfänger Java Basics - Anfänger-Themen 3
L Konzept für Quiz Java Basics - Anfänger-Themen 33
D Methoden Plathhalter für Integer in einer Methode Java Basics - Anfänger-Themen 19
B Datentyp für Einzelnes Objekt oder Liste Java Basics - Anfänger-Themen 9
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
T Algorithmus für Index mit min-Wert Java Basics - Anfänger-Themen 2
Aqtox Hallo ich muss für die Schule ein Wuerfell Duell erstellen jedoch habe ich ein fehler Java Basics - Anfänger-Themen 4
L loop für Namen Java Basics - Anfänger-Themen 11
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben