public static void makeGrid( Container parent, int rows, int cols, int initialX, int initialY, int xPad, int yPad) { SpringLayout layout; try { layout = (SpringLayout) parent.getLayout(); } catch (ClassCastException exc) { System.err.println("The first argument to makeGrid must use SpringLayout."); return; } Spring xPadSpring = Spring.constant(xPad); Spring yPadSpring = Spring.constant(yPad); Spring initialXSpring = Spring.constant(initialX); Spring initialYSpring = Spring.constant(initialY); int max = rows * cols; Spring maxWidthSpring = layout.getConstraints(parent.getComponent(0)).getWidth(); Spring maxHeightSpring = layout.getConstraints(parent.getComponent(0)).getWidth(); for (int i = 1; i < max; i++) { SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i)); maxWidthSpring = Spring.max(maxWidthSpring, cons.getWidth()); maxHeightSpring = Spring.max(maxHeightSpring, cons.getHeight()); } for (int i = 0; i < max; i++) { SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i)); cons.setWidth(maxWidthSpring); cons.setHeight(maxHeightSpring); } SpringLayout.Constraints lastCons = null; SpringLayout.Constraints lastRowCons = null; for (int i = 0; i < max; i++) { SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i)); if (i % cols == 0) { lastRowCons = lastCons; cons.setX(initialXSpring); } else { cons.setX(Spring.sum(lastCons.getConstraint(SpringLayout.EAST), xPadSpring)); } if (i / cols == 0) { cons.setY(initialYSpring); } else { cons.setY(Spring.sum(lastRowCons.getConstraint(SpringLayout.SOUTH), yPadSpring)); } lastCons = cons; } SpringLayout.Constraints pCons = layout.getConstraints(parent); pCons.setConstraint( SpringLayout.SOUTH, Spring.sum(Spring.constant(yPad), lastCons.getConstraint(SpringLayout.SOUTH))); pCons.setConstraint( SpringLayout.EAST, Spring.sum(Spring.constant(xPad), lastCons.getConstraint(SpringLayout.EAST))); }
/** * Aligns the first <code>rows</code> * <code>cols</code> components of <code>parent</code> in a * grid. Each component in a column is as wide as the maximum preferred width of the components in * that column; height is similarly determined for each row. The parent is made just big enough to * fit them all. * * @param rows number of rows * @param cols number of columns * @param initialX x location to start the grid at * @param initialY y location to start the grid at * @param xPad x padding between cells * @param yPad y padding between cells */ public static void makeCompactGrid( Container parent, int rows, int cols, int initialX, int initialY, int xPad, int yPad) { SpringLayout layout; try { layout = (SpringLayout) parent.getLayout(); } catch (ClassCastException exc) { System.err.println("The first argument to makeCompactGrid must use SpringLayout."); return; } // Align all cells in each column and make them the same width. Spring x = Spring.constant(initialX); for (int c = 0; c < cols; c++) { Spring width = Spring.constant(0); for (int r = 0; r < rows; r++) { width = Spring.max(width, SpringUtilities.getConstraintsForCell(r, c, parent, cols).getWidth()); } for (int r = 0; r < rows; r++) { SpringLayout.Constraints constraints = SpringUtilities.getConstraintsForCell(r, c, parent, cols); constraints.setX(x); constraints.setWidth(width); } x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad))); } // Align all cells in each row and make them the same height. Spring y = Spring.constant(initialY); for (int r = 0; r < rows; r++) { Spring height = Spring.constant(0); for (int c = 0; c < cols; c++) { height = Spring.max( height, SpringUtilities.getConstraintsForCell(r, c, parent, cols).getHeight()); } for (int c = 0; c < cols; c++) { SpringLayout.Constraints constraints = SpringUtilities.getConstraintsForCell(r, c, parent, cols); constraints.setY(y); constraints.setHeight(height); } y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad))); } // Set the parent's size. SpringLayout.Constraints pCons = layout.getConstraints(parent); pCons.setConstraint(SpringLayout.SOUTH, y); pCons.setConstraint(SpringLayout.EAST, x); }
/** * Aligns the widths of all columns and handles the spanned components. * * @param layout * @param grid * @param cols * @param rows * @param spannedComponents * @return */ private Spring alignColumns( SpringLayout layout, List<List<Component>> grid, int cols, int rows, Map<Component, int[]> spannedComponents) { // Align all cells in each column and make them the same width. Spring x = Spring.constant(this.leftMargin); Spring[] colWidths = new Spring[cols], colXs = new Spring[cols]; for (int c = 0; c < cols; c++) { colXs[c] = x; colWidths[c] = Spring.constant(0); for (int r = 0; r < rows; r++) { final Component cell = grid.get(r).get(c); if (cell != null && !spannedComponents.containsKey(cell)) colWidths[c] = Spring.max(colWidths[c], layout.getConstraints(cell).getWidth()); } for (int r = 0; r < rows; r++) { final Component cell = grid.get(r).get(c); if (cell != null && !spannedComponents.containsKey(cell)) { SpringLayout.Constraints constraints = layout.getConstraints(grid.get(r).get(c)); constraints.setX(x); constraints.setWidth(colWidths[c]); } } x = Spring.sum( x, Spring.sum( colWidths[c], Spring.constant(c == cols - 1 ? this.rightMargin : this.xPad))); } for (Entry<Component, int[]> spans : spannedComponents.entrySet()) { SpringLayout.Constraints constraints = layout.getConstraints(spans.getKey()); final int[] colRange = spans.getValue(); constraints.setX(colXs[colRange[0]]); Spring width = colWidths[colRange[0]]; for (int col = colRange[0] + 1; col <= colRange[1]; col++) width = Spring.sum(Spring.sum(width, colWidths[col]), Spring.constant(this.xPad)); constraints.setWidth(width); } return x; }
/** * Aligns the height of all cells in a row. * * @param layout * @param grid * @param cols * @param rows * @return */ private Spring alignRows(SpringLayout layout, List<List<Component>> grid, int cols, int rows) { // Align all cells in each row and make them the same height. Spring y = Spring.constant(this.topMargin); int[] rowSpacing = new int[rows]; Arrays.fill(rowSpacing, this.yPad); // no space above filler line rowSpacing[rows - 2] = 0; rowSpacing[rows - 1] = this.bottomMargin; for (int r = 0; r < rows; r++) { Spring height = Spring.constant(0); for (int c = 0; c < cols; c++) if (grid.get(r).get(c) != null) height = Spring.max(height, layout.getConstraints(grid.get(r).get(c)).getHeight()); for (int c = 0; c < cols; c++) if (grid.get(r).get(c) != null) { SpringLayout.Constraints constraints = layout.getConstraints(grid.get(r).get(c)); constraints.setY(y); constraints.setHeight(height); } y = Spring.sum(y, Spring.sum(height, Spring.constant(rowSpacing[r]))); } return y; }
/** * Aligns the first <code>rows</code> * <code>cols</code> components of <code>parent</code> in a * grid. Each component is as big as the maximum preferred width and height of the components. The * parent is made just big enough to fit them all. * * @param rows number of rows * @param cols number of columns * @param initialX x location to start the grid at * @param initialY y location to start the grid at * @param xPad x padding between cells * @param yPad y padding between cells */ public static void makeGrid( Container parent, int rows, int cols, int initialX, int initialY, int xPad, int yPad) { SpringLayout layout; try { layout = (SpringLayout) parent.getLayout(); } catch (ClassCastException exc) { System.err.println("The first argument to makeGrid must use SpringLayout."); return; } Spring xPadSpring = Spring.constant(xPad); Spring yPadSpring = Spring.constant(yPad); Spring initialXSpring = Spring.constant(initialX); Spring initialYSpring = Spring.constant(initialY); int max = rows * cols; // Calculate Springs that are the max of the width/height so that all // cells have the same size. Spring maxWidthSpring = layout.getConstraints(parent.getComponent(0)).getWidth(); Spring maxHeightSpring = layout.getConstraints(parent.getComponent(0)).getWidth(); for (int i = 1; i < max; i++) { SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i)); maxWidthSpring = Spring.max(maxWidthSpring, cons.getWidth()); maxHeightSpring = Spring.max(maxHeightSpring, cons.getHeight()); } // Apply the new width/height Spring. This forces all the // components to have the same size. for (int i = 0; i < max; i++) { SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i)); cons.setWidth(maxWidthSpring); cons.setHeight(maxHeightSpring); } // Then adjust the x/y constraints of all the cells so that they // are aligned in a grid. SpringLayout.Constraints lastCons = null; SpringLayout.Constraints lastRowCons = null; for (int i = 0; i < max; i++) { SpringLayout.Constraints cons = layout.getConstraints(parent.getComponent(i)); if (i % cols == 0) { // start of new row lastRowCons = lastCons; cons.setX(initialXSpring); } else { // x position depends on previous component cons.setX(Spring.sum(lastCons.getConstraint(SpringLayout.EAST), xPadSpring)); } if (i / cols == 0) { // first row cons.setY(initialYSpring); } else { // y position depends on previous row cons.setY(Spring.sum(lastRowCons.getConstraint(SpringLayout.SOUTH), yPadSpring)); } lastCons = cons; } // Set the parent's size. SpringLayout.Constraints pCons = layout.getConstraints(parent); pCons.setConstraint( SpringLayout.SOUTH, Spring.sum(Spring.constant(yPad), lastCons.getConstraint(SpringLayout.SOUTH))); pCons.setConstraint( SpringLayout.EAST, Spring.sum(Spring.constant(xPad), lastCons.getConstraint(SpringLayout.EAST))); }
private void setupGui() { setIconImage( Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/image/logo_ftb.png"))); setTitle(I18N.getLocaleString("FILTER_TITLE")); setResizable(false); Container panel = getContentPane(); SpringLayout layout = new SpringLayout(); panel.setLayout(layout); originLbl = new JLabel(I18N.getLocaleString("FILTER_ORIGIN")); availabilityLbl = new JLabel(I18N.getLocaleString("FILTER_MODPACKAVALIABILITY")); mcVersionLbl = new JLabel(I18N.getLocaleString("FILTER_MCVERSION")); origin = new JComboBox(); mcVersion = new JComboBox(); availability = new JComboBox(); apply = new JButton(I18N.getLocaleString("FILTER_APPLY")); cancel = new JButton(I18N.getLocaleString("MAIN_CANCEL")); search = new JButton(I18N.getLocaleString("FILTER_SEARCHPACK")); origin.setPrototypeDisplayValue("xxxxxxxxxxxx"); mcVersion.setPrototypeDisplayValue("xxxxxxxxxxxx"); availability.setPrototypeDisplayValue("xxxxxxxxxxxx"); panel.add(mcVersionLbl); panel.add(mcVersion); panel.add(originLbl); panel.add(origin); panel.add(availability); panel.add(availabilityLbl); panel.add(apply); panel.add(cancel); panel.add(search); Spring hSpring; Spring columnWidth; hSpring = Spring.constant(10); layout.putConstraint(SpringLayout.WEST, mcVersionLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, originLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, availabilityLbl, hSpring, SpringLayout.WEST, panel); columnWidth = Spring.width(mcVersionLbl); columnWidth = Spring.max(columnWidth, Spring.width(originLbl)); columnWidth = Spring.max(columnWidth, Spring.width(availabilityLbl)); hSpring = Spring.sum(hSpring, columnWidth); hSpring = Spring.sum(hSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.WEST, mcVersion, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, origin, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, availability, hSpring, SpringLayout.WEST, panel); columnWidth = Spring.width(mcVersion); columnWidth = Spring.max(columnWidth, Spring.width(origin)); columnWidth = Spring.max(columnWidth, Spring.width(availability)); hSpring = Spring.sum(hSpring, columnWidth); layout.putConstraint(SpringLayout.EAST, mcVersion, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, origin, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, availability, hSpring, SpringLayout.WEST, panel); hSpring = Spring.sum(hSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.EAST, panel, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, search, 10, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, search, -5, SpringLayout.HORIZONTAL_CENTER, panel); layout.putConstraint(SpringLayout.WEST, cancel, 5, SpringLayout.HORIZONTAL_CENTER, panel); layout.putConstraint(SpringLayout.EAST, cancel, -10, SpringLayout.EAST, panel); layout.putConstraint(SpringLayout.WEST, apply, 10, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, apply, -10, SpringLayout.EAST, panel); Spring vSpring; Spring rowHeight; vSpring = Spring.constant(10); layout.putConstraint(SpringLayout.BASELINE, mcVersionLbl, 0, SpringLayout.BASELINE, mcVersion); layout.putConstraint(SpringLayout.NORTH, mcVersion, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(mcVersionLbl); rowHeight = Spring.max(rowHeight, Spring.height(mcVersion)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(5)); layout.putConstraint(SpringLayout.BASELINE, originLbl, 0, SpringLayout.BASELINE, origin); layout.putConstraint(SpringLayout.NORTH, origin, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(originLbl); rowHeight = Spring.max(rowHeight, Spring.height(origin)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(5)); layout.putConstraint( SpringLayout.BASELINE, availabilityLbl, 0, SpringLayout.BASELINE, availability); layout.putConstraint(SpringLayout.NORTH, availability, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(availabilityLbl); rowHeight = Spring.max(rowHeight, Spring.height(availability)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.NORTH, search, vSpring, SpringLayout.NORTH, panel); layout.putConstraint(SpringLayout.NORTH, cancel, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(search); rowHeight = Spring.max(rowHeight, Spring.height(cancel)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(5)); layout.putConstraint(SpringLayout.NORTH, apply, vSpring, SpringLayout.NORTH, panel); vSpring = Spring.sum(vSpring, Spring.height(apply)); vSpring = Spring.sum(vSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.SOUTH, panel, vSpring, SpringLayout.NORTH, panel); pack(); setLocationRelativeTo(this.getOwner()); }
private void setupGui() { setIconImage( Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/image/logo_ftb.png"))); setTitle(I18N.getLocaleString("FILTER_TITLE")); setResizable(false); Container panel = getContentPane(); SpringLayout layout = new SpringLayout(); panel.setLayout(layout); originLbl = new JLabel(I18N.getLocaleString("FILTER_ORIGIN")); typeLbl = new JLabel(I18N.getLocaleString("FILTER_PACKTYPE")); compatiblePackLbl = new JLabel(I18N.getLocaleString("FILTER_COMPERTIBLEPACK")); origin = new JComboBox(); type = new JComboBox(); compatiblePack = new JComboBox(); apply = new JButton(I18N.getLocaleString("FILTER_APPLY")); cancel = new JButton(I18N.getLocaleString("MAIN_CANCEL")); search = new JButton(I18N.getLocaleString("FILTER_SEARCHMAP")); origin.setPrototypeDisplayValue("xxxxxxxxxxxxxxxxxxxxxxxxxx"); type.setPrototypeDisplayValue("xxxxxxxxxxxxxxxxxxxxxxxxxx"); compatiblePack.setPrototypeDisplayValue("xxxxxxxxxxxxxxxxxxxxxxxxxx"); panel.add(typeLbl); panel.add(type); panel.add(originLbl); panel.add(origin); panel.add(compatiblePackLbl); panel.add(compatiblePack); panel.add(apply); panel.add(cancel); panel.add(search); Spring hSpring; Spring columnWidth; hSpring = Spring.constant(10); layout.putConstraint(SpringLayout.WEST, typeLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, originLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, compatiblePackLbl, hSpring, SpringLayout.WEST, panel); columnWidth = SwingUtils.springMax( Spring.width(typeLbl), Spring.width(originLbl), Spring.width(compatiblePackLbl)); hSpring = SwingUtils.springSum(hSpring, columnWidth, Spring.constant(10)); layout.putConstraint(SpringLayout.WEST, type, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, origin, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, compatiblePack, hSpring, SpringLayout.WEST, panel); columnWidth = SwingUtils.springMax( Spring.width(type), Spring.width(origin), Spring.width(compatiblePack)); hSpring = Spring.sum(hSpring, columnWidth); layout.putConstraint(SpringLayout.EAST, type, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, origin, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, compatiblePack, hSpring, SpringLayout.WEST, panel); hSpring = Spring.sum(hSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.EAST, panel, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, search, 10, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, search, -5, SpringLayout.HORIZONTAL_CENTER, panel); layout.putConstraint(SpringLayout.WEST, cancel, 5, SpringLayout.HORIZONTAL_CENTER, panel); layout.putConstraint(SpringLayout.EAST, cancel, -10, SpringLayout.EAST, panel); layout.putConstraint(SpringLayout.WEST, apply, 10, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, apply, -10, SpringLayout.EAST, panel); Spring vSpring; Spring rowHeight; vSpring = Spring.constant(10); layout.putConstraint(SpringLayout.BASELINE, typeLbl, 0, SpringLayout.BASELINE, type); layout.putConstraint(SpringLayout.NORTH, type, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.max(Spring.height(typeLbl), Spring.height(type)); vSpring = SwingUtils.springSum(vSpring, rowHeight, Spring.constant(5)); layout.putConstraint(SpringLayout.BASELINE, originLbl, 0, SpringLayout.BASELINE, origin); layout.putConstraint(SpringLayout.NORTH, origin, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.max(Spring.height(originLbl), Spring.height(origin)); vSpring = SwingUtils.springSum(vSpring, rowHeight, Spring.constant(5)); layout.putConstraint( SpringLayout.BASELINE, compatiblePackLbl, 0, SpringLayout.BASELINE, compatiblePack); layout.putConstraint(SpringLayout.NORTH, compatiblePack, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(compatiblePackLbl); rowHeight = Spring.max(rowHeight, Spring.height(compatiblePack)); vSpring = SwingUtils.springSum(vSpring, rowHeight, Spring.constant(10)); layout.putConstraint(SpringLayout.NORTH, search, vSpring, SpringLayout.NORTH, panel); layout.putConstraint(SpringLayout.NORTH, cancel, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.max(Spring.height(search), Spring.height(cancel)); vSpring = SwingUtils.springSum(vSpring, rowHeight, Spring.constant(5)); layout.putConstraint(SpringLayout.NORTH, apply, vSpring, SpringLayout.NORTH, panel); vSpring = SwingUtils.springSum(vSpring, Spring.height(apply), Spring.constant(10)); layout.putConstraint(SpringLayout.SOUTH, panel, vSpring, SpringLayout.NORTH, panel); pack(); setLocationRelativeTo(this.getOwner()); }
private void setupGui() { setIconImage( Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/image/logo_ftb.png"))); setTitle(I18N.getLocaleString("UPDATEMODPACK_TITLE")); setResizable(false); Container panel = getContentPane(); SpringLayout layout = new SpringLayout(); panel.setLayout(layout); messageLbl = new JLabel(I18N.getLocaleString("UPDATEMODPACK_ISAVALIBLE")); updateLbl = new JLabel(I18N.getLocaleString("UPDATE_WICHUPDATE")); backup = new JCheckBox(I18N.getLocaleString("UPDATEMODPACK_BACKUP")); update = new JButton(I18N.getLocaleString("MAIN_YES")); abort = new JButton(I18N.getLocaleString("MAIN_NO")); messageLbl.setHorizontalAlignment(SwingConstants.CENTER); updateLbl.setHorizontalAlignment(SwingConstants.CENTER); backup.setHorizontalAlignment(SwingConstants.CENTER); panel.add(messageLbl); panel.add(updateLbl); panel.add(backup); panel.add(update); panel.add(abort); Spring hSpring; Spring columnWidth; hSpring = Spring.constant(10); layout.putConstraint(SpringLayout.WEST, messageLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, updateLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, backup, hSpring, SpringLayout.WEST, panel); columnWidth = Spring.width(messageLbl); columnWidth = Spring.max(columnWidth, Spring.width(updateLbl)); columnWidth = Spring.max(columnWidth, Spring.width(backup)); hSpring = Spring.sum(hSpring, columnWidth); layout.putConstraint(SpringLayout.EAST, messageLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, updateLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.EAST, backup, hSpring, SpringLayout.WEST, panel); hSpring = Spring.sum(hSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.EAST, panel, hSpring, SpringLayout.WEST, panel); layout.putConstraint( SpringLayout.HORIZONTAL_CENTER, backup, 0, SpringLayout.HORIZONTAL_CENTER, panel); layout.putConstraint(SpringLayout.EAST, update, -5, SpringLayout.HORIZONTAL_CENTER, panel); layout.putConstraint(SpringLayout.WEST, abort, 5, SpringLayout.HORIZONTAL_CENTER, panel); Spring vSpring; Spring rowHeight; vSpring = Spring.constant(10); layout.putConstraint(SpringLayout.NORTH, messageLbl, vSpring, SpringLayout.NORTH, panel); vSpring = Spring.sum(vSpring, Spring.height(messageLbl)); vSpring = Spring.sum(vSpring, Spring.constant(5)); layout.putConstraint(SpringLayout.NORTH, updateLbl, vSpring, SpringLayout.NORTH, panel); vSpring = Spring.sum(vSpring, Spring.height(updateLbl)); vSpring = Spring.sum(vSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.NORTH, backup, vSpring, SpringLayout.NORTH, panel); vSpring = Spring.sum(vSpring, Spring.height(backup)); vSpring = Spring.sum(vSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.NORTH, update, vSpring, SpringLayout.NORTH, panel); layout.putConstraint(SpringLayout.NORTH, abort, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(update); rowHeight = Spring.max(rowHeight, Spring.height(abort)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.SOUTH, panel, vSpring, SpringLayout.NORTH, panel); pack(); setLocationRelativeTo(getOwner()); }
private void setupGui() { setIconImage( Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/image/logo_ftb.png"))); setTitle(I18N.getLocaleString("PROFILEADDER_TITLE")); setResizable(false); Container panel = getContentPane(); SpringLayout layout = new SpringLayout(); panel.setLayout(layout); usernameLbl = new JLabel(I18N.getLocaleString("PROFILEADDER_USERNAME")); username = new JTextField(16); passwordLbl = new JLabel(I18N.getLocaleString("PROFILEADDER_PASSWORD")); password = new JPasswordField(16); nameLbl = new JLabel(I18N.getLocaleString("PROFILEADDER_NAME")); name = new JTextField(16); savePassword = new JCheckBox(I18N.getLocaleString("PROFILEADDER_SAVEPASSWORD")); add = new JButton(I18N.getLocaleString("MAIN_ADD")); usernameLbl.setLabelFor(username); passwordLbl.setLabelFor(password); nameLbl.setLabelFor(name); panel.add(usernameLbl); panel.add(username); panel.add(passwordLbl); panel.add(password); panel.add(nameLbl); panel.add(name); panel.add(savePassword); panel.add(add); Spring hSpring; Spring columnWidth; hSpring = Spring.constant(10); layout.putConstraint(SpringLayout.WEST, usernameLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, passwordLbl, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, nameLbl, hSpring, SpringLayout.WEST, panel); columnWidth = Spring.width(usernameLbl); columnWidth = Spring.max(columnWidth, Spring.width(passwordLbl)); columnWidth = Spring.max(columnWidth, Spring.width(nameLbl)); hSpring = Spring.sum(hSpring, columnWidth); hSpring = Spring.sum(hSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.WEST, username, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, password, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, name, hSpring, SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.WEST, savePassword, hSpring, SpringLayout.WEST, panel); columnWidth = Spring.width(username); columnWidth = Spring.max(columnWidth, Spring.width(password)); columnWidth = Spring.max(columnWidth, Spring.width(name)); columnWidth = Spring.max(columnWidth, Spring.width(savePassword)); hSpring = Spring.sum(hSpring, columnWidth); hSpring = Spring.sum(hSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.EAST, panel, hSpring, SpringLayout.WEST, panel); layout.putConstraint( SpringLayout.HORIZONTAL_CENTER, add, 0, SpringLayout.HORIZONTAL_CENTER, panel); Spring vSpring; Spring rowHeight; vSpring = Spring.constant(10); layout.putConstraint(SpringLayout.BASELINE, usernameLbl, 0, SpringLayout.BASELINE, username); layout.putConstraint(SpringLayout.NORTH, username, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(usernameLbl); rowHeight = Spring.max(rowHeight, Spring.height(username)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(5)); layout.putConstraint(SpringLayout.BASELINE, passwordLbl, 0, SpringLayout.BASELINE, password); layout.putConstraint(SpringLayout.NORTH, password, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(passwordLbl); rowHeight = Spring.max(rowHeight, Spring.height(password)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(5)); layout.putConstraint(SpringLayout.BASELINE, nameLbl, 0, SpringLayout.BASELINE, name); layout.putConstraint(SpringLayout.NORTH, name, vSpring, SpringLayout.NORTH, panel); rowHeight = Spring.height(nameLbl); rowHeight = Spring.max(rowHeight, Spring.height(name)); vSpring = Spring.sum(vSpring, rowHeight); vSpring = Spring.sum(vSpring, Spring.constant(5)); layout.putConstraint(SpringLayout.NORTH, savePassword, vSpring, SpringLayout.NORTH, panel); vSpring = Spring.sum(vSpring, Spring.height(savePassword)); vSpring = Spring.sum(vSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.NORTH, add, vSpring, SpringLayout.NORTH, panel); vSpring = Spring.sum(vSpring, Spring.height(add)); vSpring = Spring.sum(vSpring, Spring.constant(10)); layout.putConstraint(SpringLayout.SOUTH, panel, vSpring, SpringLayout.NORTH, panel); pack(); setLocationRelativeTo(getOwner()); }