package layout;
/*
* TextDemo.java
*
* Wenn du GridLayout benutzt und die Textfelder immer gleich gross haben willst,
* dann musst du mit einem Layout kombinieren, das die Grösse nicht ändert, wie FlowLayout.
* D.h. du setzt die Textfelder zuerst in ein extra JPanel (hat FlowLayout als default)
* und das JPanel kommt dann ins GridLayout:
*/
import java.awt.*;
import javax.swing.*;
public class TextDemo extends JFrame {
private JPanel mainpanel;
private JPanel panel1, panel2;
private JTextField textfeld1, textfeld2;
public TextDemo() {
super("TextDemo");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
textfeld1 = new JTextField("textfeld1");
textfeld2 = new JTextField("textfeld2");
mainpanel = new JPanel(new GridLayout());
panel1 = new JPanel();//FlowLayout
panel2 = new JPanel();//FlowLayout
panel1.add(textfeld1);
panel2.add(textfeld2);
mainpanel.add(panel1);
mainpanel.add(panel2);
textfeld1.setPreferredSize(new Dimension(120,22));
textfeld2.setPreferredSize(textfeld1.getPreferredSize());
getContentPane().add(mainpanel, BorderLayout.CENTER);
pack();
}
public static void main(final String args[]) {new TextDemo().setVisible(true);}
}