BorderLayout implemented in terms of GroupLayout
Just for fun. Here is a java.awt.BorderLayout implemented in terms of javax.swing.GroupLayout:
import javax.swing.GroupLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class BorderLayoutGroupLayout {
public static void main(String[] args) {
JButton west = new JButton("West");
JButton north = new JButton("North");
JButton east = new JButton("East");
JButton south = new JButton("South");
JButton center = new JButton("Center");
JPanel panel = new JPanel();
GroupLayout groupLayout = new GroupLayout(panel);
panel.setLayout(groupLayout);
groupLayout.setHorizontalGroup(
groupLayout.createParallelGroup(GroupLayout.Alignment.LEADING)
.addComponent(north, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(groupLayout.createSequentialGroup()
.addComponent(west)
.addComponent(center, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(east))
.addComponent(south, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
);
groupLayout.setVerticalGroup(
groupLayout.createSequentialGroup()
.addComponent(north)
.addGroup(groupLayout.createParallelGroup(GroupLayout.Alignment.CENTER)
.addComponent(west, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(center, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(east, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(south)
);
JDialog dialog = new JDialog((JFrame)null, "", true);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setContentPane(panel);
dialog.pack();
dialog.setVisible(true);
}
}
Posted by sandipchitale
( Aug 07 2007, 02:47:08 PM PDT ) Permalink