import java.awt.*;
import javax.swing.*;
public class SomeLayouts {
private JTabbedPane getContent() {
JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.addTab("GridLayout", getGridTab());
tabbedPane.addTab("GridBag 1", getGridBagTab1());
tabbedPane.addTab("GridBag 2", getGridBagTab2());
return tabbedPane;
}
private JPanel getGridTab() {
JPanel panel = new JPanel(new GridLayout(0,1));
panel.add(getLabel());
JPanel p = new JPanel();
p.add(getTextField());
panel.add(p);
p = new JPanel();
p.add(getButton());
panel.add(p);
return addToParent(panel);
}
private JPanel getGridBagTab1() {
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(5,5,5,5);
gbc.gridwidth = GridBagConstraints.REMAINDER;
panel.add(getLabel(), gbc);
panel.add(getTextField(), gbc);
panel.add(getButton(), gbc);
return addToParent(panel);
}
private JPanel getGridBagTab2() {
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.insets = new Insets(2,2,2,2);
gbc.gridwidth = GridBagConstraints.REMAINDER;
gbc.weightx = 1.0;
gbc.anchor = GridBagConstraints.WEST;
panel.add(getLabel(), gbc);
gbc.anchor = GridBagConstraints.CENTER;
panel.add(getTextField(), gbc);
panel.add(getButton(), gbc);
return addToParent(panel);
}
private JPanel addToParent(JPanel north) {
JTextArea displayArea = new JTextArea(10,25);
displayArea.setEnabled( false );
JPanel panel = new JPanel(new BorderLayout());
panel.add(north, "North");
panel.add(new JScrollPane( displayArea ));
return panel;
}
private JLabel getLabel() {
return new JLabel("Choose a number from 1 to 10:");
}
private JTextField getTextField() {
JTextField enterField = new JTextField(8);
enterField.setEnabled( false );
return enterField;
}
private JButton getButton() {
return new JButton("Send");
}
public static void main(String[] args) {
SomeLayouts test = new SomeLayouts();
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = f.getContentPane();
container.add( test.getContent() );
// setSize(400,250);
f.pack( );
f.setLocation(200,200);
f.setVisible( true );
}
}