01: /**
02: * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
03: */package net.sourceforge.pmd.cpd;
04:
05: import javax.swing.*;
06: import java.awt.Component;
07: import java.awt.Container;
08: import java.awt.GridBagConstraints;
09: import java.awt.GridBagLayout;
10: import java.awt.Insets;
11:
12: public class GridBagHelper {
13:
14: GridBagLayout gridbag;
15: Container container;
16: GridBagConstraints c;
17: int x = 0;
18: int y = 0;
19: int labelAlignment = SwingConstants.RIGHT;
20: double[] weights;
21:
22: public GridBagHelper(Container container, double[] weights) {
23: this .container = container;
24: this .weights = weights;
25:
26: gridbag = new GridBagLayout();
27: container.setLayout(gridbag);
28:
29: c = new GridBagConstraints();
30: c.insets = new Insets(2, 2, 2, 2);
31: c.anchor = GridBagConstraints.EAST;
32: c.fill = GridBagConstraints.HORIZONTAL;
33: }
34:
35: public void add(Component component) {
36: add(component, 1);
37: }
38:
39: public void add(Component component, int width) {
40: c.gridx = x;
41: c.gridy = y;
42: c.weightx = weights[x];
43: c.gridwidth = width;
44: gridbag.setConstraints(component, c);
45: container.add(component);
46: x += width;
47: }
48:
49: public void nextRow() {
50: y++;
51: x = 0;
52: }
53:
54: public void addLabel(String label) {
55: add(new JLabel(label, labelAlignment));
56: }
57:
58: }
|