AWT Problem mit Platzierung (GridBagLayout)

PascalC

Mitglied
Hi,

ich versuche eine GUI zu programmieren und wollte rechts oben Log-in/Passwort Felder untereinander mittels GridBagLayout platzieren. Leider platziert er sie nebeneinander. Woran kann das liegen?

Java:
import java.awt.* ;
import java.awt.event.*;
import javax.swing.*;


public class Interface extends JFrame 
{
	//Instanzvariablen
	JLabel text= new JLabel("Willkommen bei text");
	JLabel login = new JLabel("Log-in: ");
	JTextField loginfeld = new JTextField(10);
	JLabel passwortfeld = new JLabel("Passwort: ");
	JPasswordField passwort = new JPasswordField(10);
	JPanel oben = new JPanel();
	JPanel logindaten = new JPanel();
	
	//Konstruktor
	public Interface (String titel)
	{
		super (titel);
		
		//Anlegen der verschiedenen Produktgruppen
		JPanel obst = new JPanel();
		JPanel gemuese = new JPanel();
		JPanel tiefkuehl = new JPanel();
		JPanel milchprodukte = new JPanel();
		JPanel fleisch = new JPanel();
		JPanel konserven = new JPanel();
		
		obst.setBackground(Color.GREEN);
		gemuese.setBackground(Color.GREEN);
		tiefkuehl.setBackground(Color.BLUE);
		milchprodukte.setBackground(Color.BLUE);
		fleisch.setBackground(Color.RED);
		konserven.setBackground(Color.GRAY);
		
		//Anlegen der Produktgruppen als Registerkarten
		JTabbedPane sortiment = new JTabbedPane(JTabbedPane.LEFT, JTabbedPane.WRAP_TAB_LAYOUT);
		
		sortiment.addTab("Obst", obst);
		sortiment.addTab("Gemuese", gemuese);
		sortiment.addTab("Tiefkuehl", tiefkuehl);
		sortiment.addTab("Milchprodukte", milchprodukte);
		sortiment.addTab("Fleisch", fleisch);
		sortiment.addTab("Konserven", konserven);
		
		add(sortiment);
		
		//Layout
		setLayout(new BorderLayout());
		
		oben.setLayout(new BorderLayout()); //BorderLayout um Überschrift und Log-in zu platzieren
		oben.add(text, BorderLayout.NORTH);
		
		logindaten.setLayout(new GridBagLayout());
		GridBagConstraints gbc = new GridBagConstraints();
		gbc.fill=GridBagConstraints.HORIZONTAL;
		gbc.insets = new Insets(2,2,2,2);
		
		gbc.gridx = 0;
		gbc.gridy = 0;
		gbc.gridheight = 2;
		logindaten.add(login);
		
		gbc.gridx = 1;
		gbc.gridy = 0;
		gbc.gridheight = 1;
		logindaten.add(loginfeld);
		
		gbc.gridx = 0;
		gbc.gridy = 1;
		gbc.gridheight = 1;
		logindaten.add(passwortfeld);
		
		gbc.gridx = 1;
		gbc.gridy = 1;
		gbc.gridheight = 1;
		logindaten.add(passwort);
		
		oben.add(logindaten, BorderLayout.EAST);
		add(oben, BorderLayout.PAGE_START);
		add(sortiment, BorderLayout.LINE_START);
		pack();
		
		//Einstellungen des Fensters
		setVisible(true);
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		setSize(800, 550);
		setResizable(true);
	}
}
 

Flown

Administrator
Mitarbeiter
Du musst auch die GridBagConstraint deinem Container übergeben:
Java:
logindaten.add(login, gbc);

Geschweige davon ist dein Code eine kleine Katastrophe.
- Ordne deinen Code: Zerlege Aufgaben in kleinere und clustere sie in Methoden
- Unbedingt Objekte Kapseln: Nicht alle deine Felder müssen so große Sichtbarkeit verfügen
- Leite nicht von JFrame ab!!!! Einfach verwenden!!!! Wo lernt man den sowas nur?
- setVisible(true) sollte der letzte Aufruf sein!
- frame.pack() und setSize(...) vertragen sich nicht.
- Klassennamen anders wählen, sonst kommt es zu Verwechslungen mit interface (keyword)

Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

public class UserInterface {

  public UserInterface(String titel) {
    JFrame frame = new JFrame(titel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(800, 550);

    JPanel mainPanel = new JPanel(new BorderLayout());

    mainPanel.add(createLoginPanel(), BorderLayout.PAGE_START);
    mainPanel.add(createTabPanel(), BorderLayout.CENTER);

    frame.add(mainPanel);
    frame.setVisible(true);
  }

  private JTabbedPane createTabPanel() {
    JTabbedPane sortiment = new JTabbedPane(JTabbedPane.LEFT, JTabbedPane.WRAP_TAB_LAYOUT);

    JPanel obst = new JPanel();
    JPanel gemuese = new JPanel();
    JPanel tiefkuehl = new JPanel();
    JPanel milchprodukte = new JPanel();
    JPanel fleisch = new JPanel();
    JPanel konserven = new JPanel();

    obst.setBackground(Color.GREEN);
    gemuese.setBackground(Color.ORANGE);
    tiefkuehl.setBackground(Color.MAGENTA);
    milchprodukte.setBackground(Color.BLUE);
    fleisch.setBackground(Color.RED);
    konserven.setBackground(Color.GRAY);

    sortiment.addTab("Obst", obst);
    sortiment.addTab("Gemuese", gemuese);
    sortiment.addTab("Tiefkuehl", tiefkuehl);
    sortiment.addTab("Milchprodukte", milchprodukte);
    sortiment.addTab("Fleisch", fleisch);
    sortiment.addTab("Konserven", konserven);

    return sortiment;
  }

  private JComponent createLoginPanel() {
    JPanel oben = new JPanel(new BorderLayout());

    JLabel text = new JLabel("Willkommen bei text");
    oben.add(text, BorderLayout.NORTH);

    JPanel logindaten = new JPanel(new GridBagLayout());

    JLabel login = new JLabel("Log-in: ");
    JTextField loginfeld = new JTextField(10);
    JLabel passwortfeld = new JLabel("Passwort: ");
    JPasswordField passwort = new JPasswordField(10);

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.fill = GridBagConstraints.HORIZONTAL;
    gbc.insets = new Insets(2, 2, 2, 2);

    gbc.gridx = 0;
    gbc.gridy = 0;
    gbc.gridheight = 1;
    logindaten.add(login, gbc);

    gbc.gridx = 1;
    gbc.gridy = 0;
    gbc.gridheight = 1;
    logindaten.add(loginfeld, gbc);

    gbc.gridx = 0;
    gbc.gridy = 1;
    gbc.gridheight = 1;
    logindaten.add(passwortfeld, gbc);

    gbc.gridx = 1;
    gbc.gridy = 1;
    gbc.gridheight = 1;
    logindaten.add(passwort, gbc);

    oben.add(logindaten, BorderLayout.EAST);

    return oben;
  }

  public static void main(String... args) {
    SwingUtilities.invokeLater(new Runnable() {
      public void run() {
        new UserInterface("Test");
      }
    });
  }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
H 2D-Grafik Problem mit Paint AWT, Swing, JavaFX & SWT 1
S Layout - Problem AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
sserio Java Fx - Problem AWT, Swing, JavaFX & SWT 3
A Problem Spiel auf Panel der GUI zu bringen AWT, Swing, JavaFX & SWT 1
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
TheWhiteShadow JavaFX ListView Problem beim Entfernen von Elementen AWT, Swing, JavaFX & SWT 1
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
Umb3rus JavaFX Problem mit PropertyValueFactory: can not read from unreadable property AWT, Swing, JavaFX & SWT 1
T Problem mit paintComponent() AWT, Swing, JavaFX & SWT 17
AmsananKING Java Menü-Problem AWT, Swing, JavaFX & SWT 1
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
G Instance OF Problem AWT, Swing, JavaFX & SWT 9
FrittenFritze Ein Problem mit der CSSBox, die Größe wird nicht angepasst AWT, Swing, JavaFX & SWT 5
M Problem mit dem Anzeigen von Frames im Vordergrund AWT, Swing, JavaFX & SWT 5
Badebay Problem mit JButton AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
J JavaFX Löschen im Tabelview macht Problem AWT, Swing, JavaFX & SWT 15
JavaTalksToMe JavaFx ExekutorService Problem AWT, Swing, JavaFX & SWT 2
Zrebna Problem bei Eventhandling (Value soll nach jedem erneutem Klick gelöscht werden) AWT, Swing, JavaFX & SWT 4
B Problem mit JavaFX AWT, Swing, JavaFX & SWT 5
J css Problem AWT, Swing, JavaFX & SWT 5
B JavaFX habe mein Problem fett markiert AWT, Swing, JavaFX & SWT 2
A Swing Filter-Problem AWT, Swing, JavaFX & SWT 1
temi JavaFX Problem mit IntelliJ und JavaFx 11 unter XUbuntu AWT, Swing, JavaFX & SWT 3
L Java FX Problem mit Ubuntu 18 und JavaFx AWT, Swing, JavaFX & SWT 27
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B [Problem] Java öffnet Word-Datein nicht AWT, Swing, JavaFX & SWT 14
T DataBinding Problem AWT, Swing, JavaFX & SWT 5
Blender3D Problem mit € Symbol Font Gotham Windows 10 Swing AWT, Swing, JavaFX & SWT 11
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 15
J Problem mit Platfrom run later AWT, Swing, JavaFX & SWT 0
D Swing SwingUtils / Thread Problem AWT, Swing, JavaFX & SWT 3
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
T Swing Problem mit Datum und FormattedTextField AWT, Swing, JavaFX & SWT 2
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
olfibits JavaFX Problem mit HTMLEditor AWT, Swing, JavaFX & SWT 0
W SWT hover-background-problem with first column in TreeViewer AWT, Swing, JavaFX & SWT 0
M Problem mit Add JScrollPane AWT, Swing, JavaFX & SWT 25
Mario1409 Swing JTextArea scroll Problem AWT, Swing, JavaFX & SWT 0
N Swing Problem mit loop AWT, Swing, JavaFX & SWT 2
S Swing Problem mit Button und ActionListener AWT, Swing, JavaFX & SWT 5
S Swing & Clean und build Problem AWT, Swing, JavaFX & SWT 12
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
I 2D-Grafik Problem beim Ändern der Farbe eine 2d Objekts AWT, Swing, JavaFX & SWT 3
G Swing Splitpane Problem AWT, Swing, JavaFX & SWT 1
F Problem mit der FXML Rectangle Shape AWT, Swing, JavaFX & SWT 2
N JavaFX Stranges Problem mit der Autoscroll-Eigenschaft von Textareas AWT, Swing, JavaFX & SWT 0
E Java FX FXML Problem mit html Scriptausführung AWT, Swing, JavaFX & SWT 2
J JavaFX Intersect Problem mit Shapes AWT, Swing, JavaFX & SWT 10
R JavaFX MediaPlayer AVI-Problem AWT, Swing, JavaFX & SWT 1
M Swing Problem mit ListCellRenderer AWT, Swing, JavaFX & SWT 7
D Problem mit JTable AWT, Swing, JavaFX & SWT 1
F GUI Auflösung ändern - Koordianten und Proportions Problem AWT, Swing, JavaFX & SWT 21
J Problem mit Button darstellung AWT, Swing, JavaFX & SWT 23
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
S 2D-Grafik Problem mit Variablen AWT, Swing, JavaFX & SWT 4
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
M Swing AttributiveCellTableModel addRow() Problem AWT, Swing, JavaFX & SWT 1
J Swing Problem mit Graphics Methode AWT, Swing, JavaFX & SWT 4
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
K CheckBox Problem AWT, Swing, JavaFX & SWT 5
Grevak DisplayMode Problem seit Windows 10 AWT, Swing, JavaFX & SWT 2
S Swing Eigene JComboBox Problem! AWT, Swing, JavaFX & SWT 1
B Swing Problem mit Bildpfad AWT, Swing, JavaFX & SWT 4
N Swing Problem beim Scrollen mit JScrollPane AWT, Swing, JavaFX & SWT 6
V Graphics g - drawOval problem mit background AWT, Swing, JavaFX & SWT 1
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
M Swing pack() Problem mit Taskleiste AWT, Swing, JavaFX & SWT 4
N Swing Choice- Problem! AWT, Swing, JavaFX & SWT 8
Q "AWT-EventQueue-0" Exception Problem AWT, Swing, JavaFX & SWT 4
D jButton Problem, ein Rieser Button bedeckt das ganze frame AWT, Swing, JavaFX & SWT 1
A Problem: repaint() - Schleife AWT, Swing, JavaFX & SWT 3
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
N Swing JTree Problem beim erstellen der Knoten AWT, Swing, JavaFX & SWT 0
N Swing CardLayout: Problem beim Wechsel zwischen den JPanels AWT, Swing, JavaFX & SWT 3
A Mini-Menu-Schriften. Ein Problem bei hohen DPI Zahlen AWT, Swing, JavaFX & SWT 2
Z Canvas in Frame einfügen. Problem mit 4-Gewinnt AWT, Swing, JavaFX & SWT 1
C Thread-/ Simulations- Problem AWT, Swing, JavaFX & SWT 18
G Swing Setvisible problem AWT, Swing, JavaFX & SWT 1
J JTabbedPane: close Button Problem AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX -> fxmlLoader -> getResourceAsStream Problem AWT, Swing, JavaFX & SWT 1
T Problem: ComboBox und addItem AWT, Swing, JavaFX & SWT 5
M JTextArea wird nicht aktualisiert (ActionListener-Problem) AWT, Swing, JavaFX & SWT 1
T LayoutManager LookAndFeel-Problem AWT, Swing, JavaFX & SWT 4
F Problem mit Implementierung von Kollisionsabfrage AWT, Swing, JavaFX & SWT 5
vodkaz (javafx) Image Problem AWT, Swing, JavaFX & SWT 2
T Problem beim Zeichnen von Rechteck AWT, Swing, JavaFX & SWT 3
B JavaFX Problem bei Kamera / Group, gesamte Scene bewegt sich mit AWT, Swing, JavaFX & SWT 0
L Swing Vier Gewinnt Problem AWT, Swing, JavaFX & SWT 2
Z GUI-Problem, finde meinen Fehler nicht! AWT, Swing, JavaFX & SWT 11
B JavaFX KeyEvent und Canvas draw Problem AWT, Swing, JavaFX & SWT 9
R Swing Problem: IOException bei ActionListener AWT, Swing, JavaFX & SWT 1
GianaSisters JFrame mit JInternalFrames, Keylistener-Problem AWT, Swing, JavaFX & SWT 9
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
A Problem mit drawImage AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben