Swing GUI mit GridBagLayout

Nowster

Mitglied
Hallo,

ich habe das Tutorial hier im Forum sowie das Tutorial von Oracle selbst gelesen und wollte nun selbst mal eine GUI mit GridBagLayout erstellen.Nur leider komme ich überhaupt nicht weiter.Ich sitze seit 4 Stunden dran und habe es immer noch nicht geschafft ein Bild an die Position zu bekommen an die es soll.

Ich wollte ein Fenster mit den Abmessungen 800x600 erstellen und in der rechten oberen Ecke sollte ein Bild(logo.jpg) angezeigt werden.Dazu wird noch ein JLabel mit dem aktuellen Datum in der Mitte des Fenster angezeigt.Allerdings will das Bild nicht in seine Ecke.

Außerdem habe ich noch das Problem das mir nur ein leeres Fenster angezeigt wird, solange ich nicht mit der Maus die Größe des Fensters ändere :( .

Vll könnt ihr mir ja helfen oder mir zumindest sagen wie die Zellen beim GridBagLayout entstehen. Das habe ich leider auch in den Tutorials nicht verstanden.

Hier mein Code:
Java:
//Erstellung des Fensters
				JFrame window = new JFrame("Barcodeerfassung");
				window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				window.setSize(800, 600);
				window.setVisible(true);
				window.setLayout(new GridBagLayout());
				
				//GridbagLayout initialisieren
				GridBagConstraints gbc = new GridBagConstraints();
				gbc.gridx = 8;
		                gbc.gridy = 0;		
				
				//Füllen des Fensters
				
				//1.JLabel für das Logo
				JLabel logo;
				//Icon aus einem Bild in der Datei erzeugen.
				ImageIcon icon = new ImageIcon("logo.jpg");
				logo = new JLabel(icon);
				window.add(logo,gbc);

                                gbc.gridx = 2;
		                gbc.gridy = 2;
				//2.JLabel für Datum
				JLabel date_label; 
				DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");

				//aktuelles Datum mit Date() holen.
				Date date = new Date();

				//JLabel mit Datum füllen
				date_label = new JLabel("Erfassung Verkauf am: " + dateFormat.format(date));
				date_label.setAlignmentX(mid.CENTER_ALIGNMENT);
				window.add(date_label,gbc);

im Anhang ist mal ein Screenshot wie es im Moment bei mir aussieht.

schon mal im Vorraus vielen vielen Dank :D und ja ich habe Googel in den 4 Stunden auch mehrfach bemüht^^.

greetz
Now
 

Anhänge

  • hilfe.jpg
    hilfe.jpg
    35,2 KB · Aufrufe: 35

knilch

Bekanntes Mitglied
Hi,
Ich hab schon einige Layouts mit Gridbag erstellt. Folgende Links hab ich dabei als Beispiel angeschaut und so die Guis erstellt.
GridBagConstraints*«*Swing*«*Java Tutorial
und
How to Use GridBagLayout
und
How to Use GridBagLayout (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container)
... es gibt sicher noch mehr.
ps. poste doch mal die ganze klasse, damit das Programm erstellt und ausgeführt werden kann. So sieht man vielleicht besser woran es liegen könnte.

Gruss knlich
 

kaoZ

Top Contributor
JPanel mit BoxLayout erstellen, AlignmentX auf Left setzen,

Java:
panel.setAlignmentX(JPanel.LEFT_ALIGNMENT);

diesen in deinem Frame hinzufügen

Java:
frame.add(BorderLayout.CENTER, panel);

alles was du nun dem panel hinzufügst ,wird je nach layoutManager schonmal linksbündig dargestellt,

nun musst du bedenken das das GridBagLayout immer mittig Platziert wird,

also musst du über

Java:
GridBagConstraints g = new GridBagConstraints();

g.weightx = 1;
g.weighty = 1;

die wichtung auch einen Wert über 0 setzen , so nimmt das GridBagLayout den Gesamten verfügbaren Platz ein .

Und nun kannst du beliebige Komponenten an die verschiedenen Grids hinzufügen , beachte allerdings das du ggf. Filler verwenden musst um deine Komponenten an die richtigen stellen zu bekommen.

[TIPP]Behalte dir einfach im Hinterkopf das du viele Layouts nur realisieren kannst indem du verschiedene Layoutmanager/Componentes verschachtelst.[/TIPP]
 
Zuletzt bearbeitet:

Nowster

Mitglied
Hey,

danke für die Antworten die haben mich wirklich vorwärts gebracht :D.
Im Anhang habe ich jetzt mal meine aktuelle GUI wie sie jetzt ist :D.

Allerdings stehe ich nun vor dem nächsten Problem ich möchte die GUI in eine andere Klasse auslagern und mir dann beim Start des Programms einfach eine Instanz (public GUI fenster;) erstellen.

Muss ich dabei auf etwas besonders achten?.

Falls ihr für die Antwort nochmal den Quellcode braucht lade ich ihn nochmal hoch.

greetz
Now
 

Anhänge

  • GUI.jpg
    GUI.jpg
    57,3 KB · Aufrufe: 31

kaoZ

Top Contributor
Du musst entweder deine Klasse von JFrame ableiten, oder einen öffentlichen Getter Schreiben welcher dir den Frame / oder dein Inhalt de JPanel zurückliefert.

Beispiel 1 ( insofern du eine Klasse mit Methode hast die dir ein JPanel initialisiert und zurückliefert. )

Java:
public class Foo{

 public static void main(String[]args){
    JFrame frame = new JFrame("Test");
    frame.add(new MeinGui().getPanel());
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
 }
}

Beispiel 2 : ( Wenn du von JFrame ableitest / eine Methode zum Sichtbar machen definiert hast )

Java:
public class Foo{

 public static void main(String[]args){
   new Gui().showGui();
 }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S GridBagLayout Felder formatieren AWT, Swing, JavaFX & SWT 1
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
C GridbagLayout verstehen lernen AWT, Swing, JavaFX & SWT 1
H GridBagLayout macht mich wahnsinnig :-( AWT, Swing, JavaFX & SWT 5
BabySuna darstellungsprobleme mit JTabbedPane und GridBagLayout AWT, Swing, JavaFX & SWT 8
CptK Positionieren von Elementen in GridBagLayout AWT, Swing, JavaFX & SWT 4
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
Mario1409 AWT GridBagLayout AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
DaCrazyJavaExpert Swing Komponenten in GridBagLayout werden Falsch angeordnet AWT, Swing, JavaFX & SWT 1
T LayoutManager Anordnen der Elemente im GridBagLayout AWT, Swing, JavaFX & SWT 11
K GridBagLayout mit reponsive Design AWT, Swing, JavaFX & SWT 2
K GridBagLayout verändert die größe? AWT, Swing, JavaFX & SWT 1
D Swing Größe einer JComboBox im GridBagLayout aufgrund der maximalen Länge der enthaltenen Daten AWT, Swing, JavaFX & SWT 7
B LayoutManager GridBagLayout und JScrollPane AWT, Swing, JavaFX & SWT 5
T GridBagLayout Anfängerprobleme AWT, Swing, JavaFX & SWT 3
Sin137 LayoutManager GridBagLayout Probleme AWT, Swing, JavaFX & SWT 6
L GridBagLayout Anordnung AWT, Swing, JavaFX & SWT 3
M Gridbaglayout Spaltenbreite AWT, Swing, JavaFX & SWT 3
M LayoutManager GridBagLayout passt seine größe nicht an AWT, Swing, JavaFX & SWT 3
V GridBagLayout AWT, Swing, JavaFX & SWT 4
N LayoutManager GridBagLayout - Grundlagen AWT, Swing, JavaFX & SWT 6
Neumi5694 Swing Gridbaglayout - automatische Anpassung verhindern AWT, Swing, JavaFX & SWT 1
P AWT Problem mit Platzierung (GridBagLayout) AWT, Swing, JavaFX & SWT 2
F Breite beim GridBagLayout festlegen AWT, Swing, JavaFX & SWT 2
M Swing GridBagLayout Komponentengröße festsetzen AWT, Swing, JavaFX & SWT 1
J GridBagLayout mit Hilfe einer For-Schleife befüllen AWT, Swing, JavaFX & SWT 1
W GridBagLayout Größe geben AWT, Swing, JavaFX & SWT 1
HarleyDavidson Swing Seltsames Verhalten GridBagLayout AWT, Swing, JavaFX & SWT 11
W GridBagLayout mit fester Zellgrösse AWT, Swing, JavaFX & SWT 2
N Swing GridBagLayout: Ein Pixel Versatz AWT, Swing, JavaFX & SWT 2
B Swing Gridbaglayout unterschiedliche Zeilenhöhe AWT, Swing, JavaFX & SWT 6
H LayoutManager GridBagLayout AWT, Swing, JavaFX & SWT 1
N GridBagLayout - was fehlt? AWT, Swing, JavaFX & SWT 8
S Swing rowHeight und rowWeight im GridBagLayout AWT, Swing, JavaFX & SWT 1
A jpanel mit gridbaglayout auf hintergrundbild AWT, Swing, JavaFX & SWT 7
S GridBagLayout-Frage AWT, Swing, JavaFX & SWT 1
G GridBagLayout AWT, Swing, JavaFX & SWT 6
S GridBagLayout "links-rechts-layouten" AWT, Swing, JavaFX & SWT 7
T LayoutManager GridBagLayout / erwartetes Raster fehlt AWT, Swing, JavaFX & SWT 3
X Gridbaglayout gridx + gridy auslesen? AWT, Swing, JavaFX & SWT 7
H GridBagLayout macht Probleme... AWT, Swing, JavaFX & SWT 4
N GridBagLayout - Zeitplan AWT, Swing, JavaFX & SWT 13
N Swing GridbagLayout AWT, Swing, JavaFX & SWT 4
S Swing gridbaglayout AWT, Swing, JavaFX & SWT 8
G GridBagLayout Problem AWT, Swing, JavaFX & SWT 4
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
X LayoutManager gridBagLayout wird nicht richtig Dargestellt AWT, Swing, JavaFX & SWT 5
das-mo Probleme mit GridBagLayout AWT, Swing, JavaFX & SWT 6
T LayoutManager GridBagLayout - zwei jTable mit unterschiedlicher Höhe AWT, Swing, JavaFX & SWT 2
N LayoutManager GridBagLayout schummeln erlaubt ? AWT, Swing, JavaFX & SWT 2
D GridBagLayout AWT, Swing, JavaFX & SWT 9
A Swing GridBagLayout - constraints.anchor scheint nicht korrekt zu funktionieren? AWT, Swing, JavaFX & SWT 7
J Swing Terminkalender Wochenansicht mit Gridbaglayout oder JTable AWT, Swing, JavaFX & SWT 16
C LayoutManager GridBagLayout - Anfängerfrage AWT, Swing, JavaFX & SWT 5
Asamandra LayoutManager GridBagLayout - Komponenten (mit fill?) vergrößern aber Proportionen dabei erhalten? AWT, Swing, JavaFX & SWT 3
R GridBagLayout in GridBagLayout AWT, Swing, JavaFX & SWT 2
H Positionierungsprobleme beim GridBagLayout AWT, Swing, JavaFX & SWT 16
Furtano AWT GridBagLayout macht mir Sorgen AWT, Swing, JavaFX & SWT 3
A GridbagLayout positionierungsproblem AWT, Swing, JavaFX & SWT 4
earlgrey_tea GridBagLayout Componenten proportional vergößern AWT, Swing, JavaFX & SWT 12
D JTable im GridBagLayout -> gridwidth AWT, Swing, JavaFX & SWT 6
T GridBagLayout Problem AWT, Swing, JavaFX & SWT 3
D Probleme mit GridBagLayout AWT, Swing, JavaFX & SWT 8
J Swing GridBagLayout: Links-nach-rechts Orientierung statt zentriert AWT, Swing, JavaFX & SWT 12
R Größe eines Labels bei GridBagLayout festlegen AWT, Swing, JavaFX & SWT 9
B GridBagLayout Problem AWT, Swing, JavaFX & SWT 3
M LayoutManager GridBagLayout AWT, Swing, JavaFX & SWT 11
E LayoutManager GridBagLayout in BorderLayout - Abstand bei Resizing AWT, Swing, JavaFX & SWT 2
Y LayoutManager Keine vollständige Darstellung der Tabelle mit GridBagLayout AWT, Swing, JavaFX & SWT 3
L LayoutManager GridBagLayout leere Zeilen AWT, Swing, JavaFX & SWT 4
H LayoutManager Layout mit GridBagLayout machbar? AWT, Swing, JavaFX & SWT 6
N GridBagLayout Problem AWT, Swing, JavaFX & SWT 6
C Swing JTable "zerstört" GridBagLayout AWT, Swing, JavaFX & SWT 9
N LayoutManager GridBagLayout Größe fixieren AWT, Swing, JavaFX & SWT 3
M GridBagLayout AWT, Swing, JavaFX & SWT 7
V Swing Gridbaglayout Leeres Fenster AWT, Swing, JavaFX & SWT 2
R LayoutManager GridBagLayout Fragen AWT, Swing, JavaFX & SWT 10
P LayoutManager Verständnis-Frage GridBagLayout AWT, Swing, JavaFX & SWT 7
M LayoutManager Einige Fragen zum GridBagLayout AWT, Swing, JavaFX & SWT 13
N GridBagLayout AWT, Swing, JavaFX & SWT 11
D Swing Problem mit Gridbaglayout bzw. Größenanpassung JPanels AWT, Swing, JavaFX & SWT 7
Y Swing GridbagLayout JTextfield zu klein AWT, Swing, JavaFX & SWT 5
L LayoutManager GridBagLayout spielt verrückt AWT, Swing, JavaFX & SWT 9
T LayoutManager GridBagLayout an Fenstergröße anpassen AWT, Swing, JavaFX & SWT 2
J Java GUI mit GridBagLayout AWT, Swing, JavaFX & SWT 3
Y LayoutManager Problem mit Gridbaglayout AWT, Swing, JavaFX & SWT 8
hdi LayoutManager GridBagLayout AWT, Swing, JavaFX & SWT 9
W GridBagLayout Falsche Größenanpassung AWT, Swing, JavaFX & SWT 6
R Swing Button-Größe in JPanel mit GridBagLayout nicht änderbar AWT, Swing, JavaFX & SWT 3
E Problem mit meiner GUI/GridbagLayout AWT, Swing, JavaFX & SWT 2
M LayoutManager GradientPaint auf GridBagLayout AWT, Swing, JavaFX & SWT 5
D LayoutManager GridBagLayout, Änderung zur Laufzeit AWT, Swing, JavaFX & SWT 4
G LayoutManager per Button GridBagLayout + Inhalt ändern AWT, Swing, JavaFX & SWT 2
M GridBagLayout zeilenweise füllen AWT, Swing, JavaFX & SWT 5
B Anzeigefehler in GridBagLayout durch paintComponent(Graphics g) AWT, Swing, JavaFX & SWT 3
hdi Swing Problem mit GridBagLayout AWT, Swing, JavaFX & SWT 2
E LayoutManager GridBagLayout kurz vorm Wahnsinn! AWT, Swing, JavaFX & SWT 22
P Swing GridBagLayout bleibt nicht so wie es ist :( AWT, Swing, JavaFX & SWT 8
M gridbaglayout - abstand bei label und field AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben