1 4 package net.sourceforge.pmd.cpd; 6 7 import javax.swing.*; 8 import java.awt.Component ; 9 import java.awt.Container ; 10 import java.awt.GridBagConstraints ; 11 import java.awt.GridBagLayout ; 12 import java.awt.Insets ; 13 14 public class GridBagHelper { 15 16 GridBagLayout gridbag; 17 Container container; 18 GridBagConstraints c; 19 int x = 0; 20 int y = 0; 21 int labelAlignment = SwingConstants.RIGHT; 22 double[] weights; 23 24 public GridBagHelper(Container container, double[] weights) { 25 this.container = container; 26 this.weights = weights; 27 28 gridbag = new GridBagLayout (); 29 container.setLayout(gridbag); 30 31 c = new GridBagConstraints (); 32 c.insets = new Insets (2, 2, 2, 2); 33 c.anchor = GridBagConstraints.EAST; 34 c.fill = GridBagConstraints.HORIZONTAL; 35 } 36 37 public void add(Component component) { 38 add(component, 1); 39 } 40 41 public void add(Component component, int width) { 42 c.gridx = x; 43 c.gridy = y; 44 c.weightx = weights[x]; 45 c.gridwidth = width; 46 gridbag.setConstraints(component, c); 47 container.add(component); 48 x += width; 49 } 50 51 public void nextRow() { 52 y++; 53 x = 0; 54 } 55 56 public void addLabel(String label) { 57 add(new JLabel(label, labelAlignment)); 58 } 59 60 } 61 62 | Popular Tags |