Hallo
ich lade mehrere JPanel in ein JFrame.
JFrame ist ja GridBagLayout fähig.
Also habe ich die erzeugten JPanel mit Inhalt(nicht wundern) mit 0,0 1,0 2,0 und 3,0 in JFrame geadded.
Er zeigt aber nur das letztgeladene an.
Was mache ich falsch ??
Danke fürs aufklären
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class GBLayout {
final JFrame frame = new JFrame();
final JPanel panel = new JPanel();
final JPanel panelA = new JPanel();
final JPanel panelB = new JPanel();
final JPanel panelC = new JPanel();
JLabel lblName = new JLabel("Name");
JLabel lblVorName = new JLabel("Vorname");
JTextField txtName = new JTextField("",15);
JTextField txtVorname = new JTextField("",20);
JButton btn1 = new JButton("btn1");
JButton btn2 = new JButton("btn2");
JButton btn3 = new JButton("btn3");
public GBLayout() {
panel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 1;
gbc.weighty =1;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.insets = new Insets(5,5,5,5);
panelA.setLayout(new GridBagLayout());
GridBagConstraints gbcA = new GridBagConstraints();
gbcA.weightx = 1;
gbcA.weighty =1;
gbcA.fill = GridBagConstraints.HORIZONTAL;
gbcA.insets = new Insets(5,5,5,5);
panelB.setLayout(new GridBagLayout());
GridBagConstraints gbcB = new GridBagConstraints();
gbcB.weightx = 1;
gbcB.weighty =1;
gbcB.fill = GridBagConstraints.HORIZONTAL;
gbcB.insets = new Insets(5,5,5,5);
panelC.setLayout(new GridBagLayout());
GridBagConstraints gbcC = new GridBagConstraints();
gbcC.weightx = 1;
gbcC.weighty =1;
gbcC.fill = GridBagConstraints.HORIZONTAL;
gbcC.insets = new Insets(5,5,5,5);
panelA.setBackground(Color.WHITE);
gbcA.gridx = 0;
gbcA.gridy = 0;
panelA.add(lblName,gbcA);
gbcA.gridx = 1;
gbcA.gridy = 0;
panelA.add(txtName,gbcA);
gbcA.gridx = 2;
gbcA.gridy = 0;
panelA.add(lblVorName,gbcA);
gbcA.gridx = 3;
gbcA.gridy = 0;
panelA.add(txtVorname,gbcA);
panelB.setBackground(Color.GREEN);
gbcB.gridx = 0;
gbcB.gridy = 0;
panelB.add(lblName,gbcB);
gbcB.gridx = 1;
gbcB.gridy = 0;
panelB.add(txtName,gbcB);
gbcB.gridx = 2;
gbcB.gridy = 0;
panelB.add(lblVorName,gbcB);
gbcB.gridx = 3;
gbcB.gridy = 0;
panelB.add(txtVorname,gbcB);
panelC.setBackground(Color.MAGENTA);
gbcC.gridx = 0;
gbcC.gridy = 0;
panelC.add(lblName,gbcC);
gbcC.gridx = 1;
gbcC.gridy = 0;
panelC.add(txtName,gbcC);
gbcC.gridx = 2;
gbcC.gridy = 0;
panelC.add(lblVorName,gbcC);
gbcC.gridx = 3;
gbcC.gridy = 0;
panelC.add(txtVorname,gbcC);
GridBagConstraints gbcframe = new GridBagConstraints();
gbcframe.fill = GridBagConstraints.HORIZONTAL;
gbcframe.insets = new Insets(5,5,5,5);
gbcframe.gridx = 0;
gbcframe.gridy = 0;
frame.add(panel);
gbcframe.gridx = 1;
gbcframe.gridy = 0;
frame.add(panelA);
gbcframe.gridx = 2;
gbcframe.gridy = 0;
frame.add(panelB);
gbcframe.gridx = 3;
gbcframe.gridy = 0;
frame.add(panelC);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setPreferredSize(new Dimension(1200, 800));
frame.setLocation(100, 75);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new GBLayout();
}
});
}
}
ich lade mehrere JPanel in ein JFrame.
JFrame ist ja GridBagLayout fähig.
Also habe ich die erzeugten JPanel mit Inhalt(nicht wundern) mit 0,0 1,0 2,0 und 3,0 in JFrame geadded.
Er zeigt aber nur das letztgeladene an.
Was mache ich falsch ??
Danke fürs aufklären
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class GBLayout {
final JFrame frame = new JFrame();
final JPanel panel = new JPanel();
final JPanel panelA = new JPanel();
final JPanel panelB = new JPanel();
final JPanel panelC = new JPanel();
JLabel lblName = new JLabel("Name");
JLabel lblVorName = new JLabel("Vorname");
JTextField txtName = new JTextField("",15);
JTextField txtVorname = new JTextField("",20);
JButton btn1 = new JButton("btn1");
JButton btn2 = new JButton("btn2");
JButton btn3 = new JButton("btn3");
public GBLayout() {
panel.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 1;
gbc.weighty =1;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.insets = new Insets(5,5,5,5);
panelA.setLayout(new GridBagLayout());
GridBagConstraints gbcA = new GridBagConstraints();
gbcA.weightx = 1;
gbcA.weighty =1;
gbcA.fill = GridBagConstraints.HORIZONTAL;
gbcA.insets = new Insets(5,5,5,5);
panelB.setLayout(new GridBagLayout());
GridBagConstraints gbcB = new GridBagConstraints();
gbcB.weightx = 1;
gbcB.weighty =1;
gbcB.fill = GridBagConstraints.HORIZONTAL;
gbcB.insets = new Insets(5,5,5,5);
panelC.setLayout(new GridBagLayout());
GridBagConstraints gbcC = new GridBagConstraints();
gbcC.weightx = 1;
gbcC.weighty =1;
gbcC.fill = GridBagConstraints.HORIZONTAL;
gbcC.insets = new Insets(5,5,5,5);
panelA.setBackground(Color.WHITE);
gbcA.gridx = 0;
gbcA.gridy = 0;
panelA.add(lblName,gbcA);
gbcA.gridx = 1;
gbcA.gridy = 0;
panelA.add(txtName,gbcA);
gbcA.gridx = 2;
gbcA.gridy = 0;
panelA.add(lblVorName,gbcA);
gbcA.gridx = 3;
gbcA.gridy = 0;
panelA.add(txtVorname,gbcA);
panelB.setBackground(Color.GREEN);
gbcB.gridx = 0;
gbcB.gridy = 0;
panelB.add(lblName,gbcB);
gbcB.gridx = 1;
gbcB.gridy = 0;
panelB.add(txtName,gbcB);
gbcB.gridx = 2;
gbcB.gridy = 0;
panelB.add(lblVorName,gbcB);
gbcB.gridx = 3;
gbcB.gridy = 0;
panelB.add(txtVorname,gbcB);
panelC.setBackground(Color.MAGENTA);
gbcC.gridx = 0;
gbcC.gridy = 0;
panelC.add(lblName,gbcC);
gbcC.gridx = 1;
gbcC.gridy = 0;
panelC.add(txtName,gbcC);
gbcC.gridx = 2;
gbcC.gridy = 0;
panelC.add(lblVorName,gbcC);
gbcC.gridx = 3;
gbcC.gridy = 0;
panelC.add(txtVorname,gbcC);
GridBagConstraints gbcframe = new GridBagConstraints();
gbcframe.fill = GridBagConstraints.HORIZONTAL;
gbcframe.insets = new Insets(5,5,5,5);
gbcframe.gridx = 0;
gbcframe.gridy = 0;
frame.add(panel);
gbcframe.gridx = 1;
gbcframe.gridy = 0;
frame.add(panelA);
gbcframe.gridx = 2;
gbcframe.gridy = 0;
frame.add(panelB);
gbcframe.gridx = 3;
gbcframe.gridy = 0;
frame.add(panelC);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setPreferredSize(new Dimension(1200, 800));
frame.setLocation(100, 75);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new GBLayout();
}
});
}
}