Heyho
Mein Ziel ist es, mit Swing ein simples Login-Fenster zu erstellen.
es sollte etwa so aussehen:
Benutzername: [Textfeld]
Passwort: [Textfeld]
(Textfelder sollten auf der selben Höhe starten und enden)
meiner Meinung nach sollte ich die Position der einzelnen Felder mit gridx und gridy steuern können, doch das scheint nicht zu funktionieren:
Benutzername und Passwort werden richtig plaziert (resp. wie gewünscht)
Bei den Textfeldern entstehen zwei separate, gleich lange Dinger, die jedoch nebeneinander in der ersten Zeile stehen.
Zudem sind sie "immun" gegen Grössenänderungen des Fensters, was sie ja wegen weightx und fill ebenfalls nicht sein dürften?
Das zweite Problem liegt evl. auch am Konstruktor von TextField, werde nochmals in der API nachlesen gehen. Doch den ersten Fehler kann ich mir einfach nicht erklären..
Mein Ziel ist es, mit Swing ein simples Login-Fenster zu erstellen.
es sollte etwa so aussehen:
Benutzername: [Textfeld]
Passwort: [Textfeld]
(Textfelder sollten auf der selben Höhe starten und enden)
meiner Meinung nach sollte ich die Position der einzelnen Felder mit gridx und gridy steuern können, doch das scheint nicht zu funktionieren:
Java:
private static void createGUI(){
JFrame frame = new JFrame("Login");
frame.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
//Benutzername
c.insets = new Insets(5, 5, 5, 5);
c.gridx = 0;
c.gridy = 0; //Koordinaten 0,0
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.5;
c.anchor = GridBagConstraints.NORTHWEST;
frame.add(new JLabel("Benutzername", SwingConstants.LEFT), c);
//Passwort
c.gridy = 1; //Koordinaten 0,1
frame.add(new JLabel("Passwort", SwingConstants.LEFT), c);
//Textfeld Benutzername
c.gridx = 1; //Koordinaten 1,0
c.gridy = 0;
c.gridwidth = GridBagConstraints.REMAINDER;
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 0.5;
frame.add(new JTextField(30));
//Textfeld Passwort //Koordinaten 1,1
c.gridy = 1;
frame.add(new JTextField(30));
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
Benutzername und Passwort werden richtig plaziert (resp. wie gewünscht)
Bei den Textfeldern entstehen zwei separate, gleich lange Dinger, die jedoch nebeneinander in der ersten Zeile stehen.
Zudem sind sie "immun" gegen Grössenänderungen des Fensters, was sie ja wegen weightx und fill ebenfalls nicht sein dürften?
Das zweite Problem liegt evl. auch am Konstruktor von TextField, werde nochmals in der API nachlesen gehen. Doch den ersten Fehler kann ich mir einfach nicht erklären..