3 import java.awt.GridBagConstraints;
4 import java.awt.GridBagLayout;
5 import java.awt.Insets;
7 import javax.swing.JComponent;
8 import javax.swing.JPanel;
11 * Class to make it easier to use GridBagLayout
12 * for a two-column, non-equal-width layout
14 public class GuiGridLayout
16 private GridBagLayout _layout = null;
17 private GridBagConstraints _constraints = null;
18 private JPanel _panel = null;
24 * @param inPanel panel using layout
26 public GuiGridLayout(JPanel inPanel)
29 _layout = new GridBagLayout();
30 _constraints = new GridBagConstraints();
31 _constraints.weightx = 1.0;
32 _constraints.weighty = 0.0;
33 _constraints.ipadx = 10;
34 _constraints.ipady = 1;
35 _constraints.insets = new Insets(1, 5, 1, 5);
36 // Apply layout to panel
37 _panel.setLayout(_layout);
41 * Add the given component to the grid
42 * @param inComponent component to add
44 public void add(JComponent inComponent)
46 _constraints.gridx = _x;
47 _constraints.gridy = _y;
48 _constraints.weightx = (_x==0?0.5:1.0);
50 _constraints.anchor = (_x == 0?GridBagConstraints.LINE_END:GridBagConstraints.LINE_START);
51 _layout.setConstraints(inComponent, _constraints);
53 _panel.add(inComponent);
54 // work out next position