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?
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);
}
}