Hi Leute,
ich habe allgemein sehr große Probleme mit dem Anordnen von Komponenten auf GUIs. Es geht um die Platzierung, Größe und Ausrichtungen. Ich würde gerne mehreren Zeilen (im Beispiel 2) einfügen, sodass 2 Komponenten pro Zeile angeordnet sind, wobei die linke eine Beschreibung (JPanel) und die rechte eine TextFeld (JTextField) ist. Es soll aber so sein, dass die linken Komponenten und die rechten jeweils direkt untereinander stehen. Ich habe folgenden Code:
Das sieht aber alles andere als so aus, wie ich es haben will. Wenn ich jedoch im JPnanel ein GridLayout einstelle (was ja für Tabellen gedacht ist) werden die TextFelder sehr groß und reagieren überhaupt nicht auf "setPreferredSize(dimension)". Kann mir jemand weiterhelfen bzw. mir generelle Tipps für das Vorgehen geben, bei der LayoutGestaltung einer GUI
ich habe allgemein sehr große Probleme mit dem Anordnen von Komponenten auf GUIs. Es geht um die Platzierung, Größe und Ausrichtungen. Ich würde gerne mehreren Zeilen (im Beispiel 2) einfügen, sodass 2 Komponenten pro Zeile angeordnet sind, wobei die linke eine Beschreibung (JPanel) und die rechte eine TextFeld (JTextField) ist. Es soll aber so sein, dass die linken Komponenten und die rechten jeweils direkt untereinander stehen. Ich habe folgenden Code:
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class zTestGui2 extends JFrame {
Container c;
JLabel description;
JLabel description2;
JLabel description3;
JButton button;
JTextField textField;
JTextField textField2;
JTextField textField3;
JPanel panel1;
public zTestGui2() {
c = getContentPane();
c.setLayout(new BorderLayout());
panel1 = new JPanel(new FlowLayout());
description = new JLabel("Testeingabe Nummer 1: ", JLabel.CENTER);
description.setOpaque(true);
description.setFont(new Font("Cambria", Font.BOLD, 14));
panel1.add(description);
textField = new JTextField();
Dimension dimension = new Dimension(75, 23);
textField.setPreferredSize(dimension);
panel1.add(textField);
description2 = new JLabel("Das ist die 2. Testeingabe: ", JLabel.CENTER);
description2.setOpaque(true);
description2.setFont(new Font("Cambria", Font.BOLD, 14));
panel1.add(description2);
textField2 = new JTextField();
textField2.setPreferredSize(dimension);
panel1.add(textField2);
c.add(panel1, BorderLayout.CENTER);
}
public static void main(String[] args) {
zTestGui2 frame = new zTestGui2();
frame.setTitle("Test Frame");
frame.setSize(350, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Das sieht aber alles andere als so aus, wie ich es haben will. Wenn ich jedoch im JPnanel ein GridLayout einstelle (was ja für Tabellen gedacht ist) werden die TextFelder sehr groß und reagieren überhaupt nicht auf "setPreferredSize(dimension)". Kann mir jemand weiterhelfen bzw. mir generelle Tipps für das Vorgehen geben, bei der LayoutGestaltung einer GUI