List of usage examples for com.jgoodies.forms.layout CellConstraints LEFT
Alignment LEFT
To view the source code for com.jgoodies.forms.layout CellConstraints LEFT.
Click Source Link
From source file:org.archiviststoolkit.swing.ImportOptionsMARC.java
License:Open Source License
private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents // Generated using JFormDesigner non-commercial license label1 = new JLabel(); repositorySelector = new JComboBox(); label2 = new JLabel(); resourceLevelSelector = ATBasicComponentFactory .createUnboundComboBox(LookupListUtils.getLookupListValues("Resource levels")); label3 = new JLabel(); panel1 = new JPanel(); resourceIdentifier1 = new JTextField(); resourceIdentifier2 = new JTextField(); resourceIdentifier3 = new JTextField(); resourceIdentifier4 = new JTextField(); label4 = new JLabel(); panel2 = new JPanel(); entireMarcRecord = new JRadioButton(); subjectHeadingsOnly = new JRadioButton(); CellConstraints cc = new CellConstraints(); //======== this ======== setBorder(Borders.DLU2_BORDER);/*from ww w .j a v a2 s .c om*/ setLayout(new FormLayout(ColumnSpec.decodeSpecs("default:grow"), new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC })); //---- label1 ---- label1.setText("Select a Repository"); add(label1, cc.xy(1, 1)); add(repositorySelector, cc.xywh(1, 3, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT)); //---- label2 ---- label2.setText("Resource Level"); add(label2, cc.xy(1, 5)); add(resourceLevelSelector, cc.xywh(1, 7, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT)); //---- label3 ---- label3.setText("Resource Identifier"); add(label3, cc.xy(1, 9)); //======== panel1 ======== { panel1.setLayout(new FormLayout( new ColumnSpec[] { new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW), FormFactory.LABEL_COMPONENT_GAP_COLSPEC, new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW), FormFactory.LABEL_COMPONENT_GAP_COLSPEC, new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW), FormFactory.LABEL_COMPONENT_GAP_COLSPEC, new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW) }, RowSpec.decodeSpecs("default"))); ((FormLayout) panel1.getLayout()).setColumnGroups(new int[][] { { 1, 3, 5, 7 } }); panel1.add(resourceIdentifier1, cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT)); panel1.add(resourceIdentifier2, cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT)); panel1.add(resourceIdentifier3, cc.xywh(5, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT)); panel1.add(resourceIdentifier4, cc.xywh(7, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT)); } add(panel1, cc.xywh(1, 11, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT)); //---- label4 ---- label4.setText("Import"); add(label4, cc.xy(1, 13)); //======== panel2 ======== { panel2.setLayout(new FormLayout(new ColumnSpec[] { FormFactory.DEFAULT_COLSPEC, FormFactory.LABEL_COMPONENT_GAP_COLSPEC, FormFactory.DEFAULT_COLSPEC }, RowSpec.decodeSpecs("default"))); //---- entireMarcRecord ---- entireMarcRecord.setText("Entire MARC record"); panel2.add(entireMarcRecord, cc.xy(1, 1)); //---- subjectHeadingsOnly ---- subjectHeadingsOnly.setText("Subject headings only"); panel2.add(subjectHeadingsOnly, cc.xy(3, 1)); } add(panel2, cc.xy(1, 15)); //---- buttonGroup1 ---- ButtonGroup buttonGroup1 = new ButtonGroup(); buttonGroup1.add(entireMarcRecord); buttonGroup1.add(subjectHeadingsOnly); // JFormDesigner - End of component initialization //GEN-END:initComponents }
From source file:org.deegree.igeo.views.swing.style.component.classification.DoubleValueClassificationPanel.java
License:Open Source License
private void init(double fix, double min, double max, double step) { // init//from w w w.j ava2s. com fixValueRB = new JRadioButton(Messages.get("$MD10786")); dynamicValueRB = new JRadioButton(Messages.get("$MD10787")); ButtonGroup bg = new ButtonGroup(); bg.add(fixValueRB); bg.add(dynamicValueRB); Dimension dimMinMax = new Dimension(85, StyleDialogUtils.PREF_ONELINE_COMPONENT_HEIGHT); fixValueSpinner = new JSpinner(new SpinnerNumberModel(fix, min, max, step)); fixValueSpinner.setPreferredSize(dimMinMax); fixValueSpinner.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(ChangeEvent e) { fixValueRB.setSelected(true); } }); dynamicMinSpinner = new JSpinner(new SpinnerNumberModel(min, min, max, step)); dynamicMinSpinner.setPreferredSize(dimMinMax); dynamicMinSpinner.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(ChangeEvent e) { dynamicValueRB.setSelected(true); if ((Double) dynamicMinSpinner.getValue() > (Double) dynamicMaxSpinner.getValue()) { dynamicMinSpinner.setValue(dynamicMaxSpinner.getValue()); } } }); dynamicMaxSpinner = new JSpinner(new SpinnerNumberModel(max, min, max, step)); dynamicMaxSpinner.setPreferredSize(dimMinMax); dynamicMaxSpinner.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(ChangeEvent e) { dynamicValueRB.setSelected(true); if ((Double) dynamicMaxSpinner.getValue() < (Double) dynamicMinSpinner.getValue()) { dynamicMaxSpinner.setValue(dynamicMinSpinner.getValue()); } } }); // layout FormLayout fl = new FormLayout("10dlu, 15dlu:grow(0.25), left:pref:grow(0.75),", "$cpheight, $cpheight, $cpheight, $cpheight, $cpheight"); DefaultFormBuilder builder = new DefaultFormBuilder(fl); builder.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); CellConstraints cc = new CellConstraints(); builder.add(fixValueRB, cc.xyw(1, 1, 3)); builder.add(fixValueSpinner, cc.xyw(2, 2, 2, CellConstraints.LEFT, CellConstraints.CENTER)); builder.add(dynamicValueRB, cc.xyw(1, 3, 3)); builder.addLabel(Messages.get("$MD10784"), cc.xy(2, 4)); builder.add(dynamicMinSpinner, cc.xy(3, 4)); builder.addLabel(Messages.get("$MD10785"), cc.xy(2, 5)); builder.add(dynamicMaxSpinner, cc.xy(3, 5)); add(builder.getPanel(), BorderLayout.CENTER); }
From source file:org.deegree.igeo.views.swing.style.component.placement.AnchorEditor.java
License:Open Source License
public AnchorEditor() { Point2d defaultAnchorPoint = SldValues.getDefaultAnchorPoint(); SpinnerNumberModel modelX = new SpinnerNumberModel(defaultAnchorPoint.x, 0.0, 1.0, 0.1); fixedAnchorX = new JSpinner(modelX); Dimension dim = new Dimension(75, 20); fixedAnchorX.setPreferredSize(dim);//from ww w .j a v a 2s . c o m fixedAnchorX.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(ChangeEvent e) { updateDefAndVisPropPanel(); xChanged = true; } }); SpinnerNumberModel modelY = new SpinnerNumberModel(defaultAnchorPoint.y, 0.0, 1.0, 0.1); fixedAnchorY = new JSpinner(modelY); fixedAnchorY.setPreferredSize(dim); fixedAnchorY.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(ChangeEvent e) { updateDefAndVisPropPanel(); yChanged = true; } }); fixedAnchorDefinitionPanel = new AnchorPointDefinitionPanel(); fixedAnchorDefinitionPanel.setPreferredSize(new Dimension(135, 70)); fixedAnchorDefinitionPanel.addChangeListener(new ChangeListener() { public void valueChanged(ValueChangedEvent event) { Point2d p = (Point2d) event.getValue(); // required to avoid multiple calls of the update methode of the assigned visual // property panel if (p.x != (Double) fixedAnchorX.getValue()) { xChanged = false; } if (p.y != (Double) fixedAnchorY.getValue()) { yChanged = false; } fixedAnchorX.setValue(p.x); fixedAnchorY.setValue(p.y); } }); fixedAnchorDefinitionPanel.setValue(defaultAnchorPoint); // layout FormLayout fl = new FormLayout("fill:default:grow(1.0), $rgap, right:min", "bottom:10dlu, bottom:5dlu, bottom:15dlu, bottom:10dlu, bottom:15dlu"); DefaultFormBuilder builder = new DefaultFormBuilder(fl); CellConstraints cc = new CellConstraints(); builder.addLabel(get("$MD10835"), cc.xywh(1, 1, 1, 2)); builder.add(fixedAnchorX, cc.xy(1, 3)); builder.addLabel(get("$MD10836"), cc.xy(1, 4)); builder.add(fixedAnchorY, cc.xy(1, 5)); builder.addLabel(get("$MD10834"), cc.xy(3, 1, CellConstraints.LEFT, CellConstraints.BOTTOM)); builder.add(fixedAnchorDefinitionPanel, cc.xywh(3, 2, 1, 4)); add(builder.getPanel()); }
From source file:org.deegree.igeo.views.swing.style.component.placement.RotationEditor.java
License:Open Source License
public RotationEditor() { double def = SldValues.getDefaultRotation(); SpinnerModel spinnerModel = new SpinnerNumberModel(def, 0.0d, 360.0d, 5.0d); fixedRotSpinner = new JSpinner(spinnerModel); fixedRotSpinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { double d = (Double) fixedRotSpinner.getValue(); fixedRotationDefinitionPanel.setValue(d); if (toInform != null) { toInform.fireValueChangeEvent(); }//ww w.ja v a2s .co m } }); fixedRotationDefinitionPanel = new RotationDefinitionPanel(); fixedRotationDefinitionPanel.addChangeListener(new org.deegree.igeo.ChangeListener() { public void valueChanged(ValueChangedEvent event) { double d = (Double) event.getValue(); fixedRotSpinner.setValue(d); } }); fixedRotationDefinitionPanel.setValue(def); FormLayout fl = new FormLayout("left:default, 10dlu, right:min", "bottom:10dlu, bottom:45dlu"); DefaultFormBuilder builder = new DefaultFormBuilder(fl); CellConstraints cc = new CellConstraints(); builder.add(fixedRotSpinner, cc.xy(1, 2)); builder.addLabel(get("$MD10844"), cc.xy(3, 1, CellConstraints.LEFT, CellConstraints.BOTTOM)); builder.add(fixedRotationDefinitionPanel, cc.xy(3, 2)); add(builder.getPanel()); }
From source file:org.drugis.addis.gui.components.progressgraph.ProgressGraph.java
License:Open Source License
public JPanel createPanel() { final FormLayout layout = new FormLayout(createFormSpec("pref", d_numCols), "p, " + createFormSpec("3dlu, p", d_numTotalRows - 1)); CellConstraints cc = new CellConstraints(); JPanel progressPanel = new JPanel(layout); Dimension cellSize = new Dimension(d_edgeLength, d_arrowSize); Dimension circleSize = new Dimension(d_circleDiameter, d_circleDiameter); for (int i = 0; i < d_numberOfChains; ++i) { int rowIdx = (2 * i) + 1; Task tuningTask = d_model.getModel().getActivityTask().getModel() .getStateByName(MCMCModel.TUNING_CHAIN_PREFIX + i); progressPanel.add(new GraphLine(cellSize, 2, SwingConstants.EAST), cc.xy(6, rowIdx)); progressPanel.add(new GraphProgressNode(d_gridCellSize, tuningTask), cc.xy(7, rowIdx)); Task simulationTask = d_model.getModel().getActivityTask().getModel() .getStateByName(MCMCModel.SIMULATION_CHAIN_PREFIX + i); progressPanel.add(new GraphLine(new Dimension(d_edgeLength * 2, d_arrowSize), 2, SwingConstants.EAST), cc.xy(9, rowIdx));//from ww w . j a va2 s.c o m progressPanel.add(new GraphProgressNode(d_gridCellSize, simulationTask), cc.xy(10, rowIdx)); progressPanel.add(new GraphLine(cellSize, 2, SwingConstants.EAST), cc.xy(11, rowIdx)); } /** Placement needed for the calculated preferred size */ progressPanel.add(new GraphSimpleNode(circleSize, GraphSimpleNodeType.START), centerCell(cc, d_numMainRows, 1)); progressPanel.add(new GraphLine(cellSize, 2, SwingConstants.EAST), centerCell(cc, d_numMainRows, 2)); Task startTask = d_model.getModel().getActivityTask().getModel() .getStateByName(MCMCModel.STARTING_SIMULATION_PHASE); progressPanel.add(new GraphProgressNode(d_gridCellSize, startTask, false), centerCell(cc, d_numMainRows, 3)); progressPanel.add(new GraphLine(cellSize, 2, SwingConstants.EAST), centerCell(cc, d_numMainRows, 4)); //NOTE: it is a mystery why numMainRows - 1 is the correct count instead of just numMainRows progressPanel.add( new GraphBar(new Dimension(d_barWidth, (int) progressPanel.getPreferredSize().getHeight())), centerCell(cc, d_numMainRows - 1, 5)); progressPanel.add( new GraphBar(new Dimension(d_barWidth, (int) progressPanel.getPreferredSize().getHeight())), centerCell(cc, d_numMainRows - 1, 12)); Task assessConvergence = d_model.getModel().getActivityTask().getModel() .getStateByName(MCMCModel.CALCULATING_SUMMARIES_PHASE); progressPanel.add(new GraphLine(cellSize, 2, SwingConstants.EAST), centerCell(cc, d_numMainRows, 13)); progressPanel.add(new GraphProgressNode(d_gridCellSize, assessConvergence, false), centerCell(cc, d_numMainRows, 14)); progressPanel.add(new GraphLine(new Dimension(d_arrowSize, 50), 2, SwingConstants.SOUTH), cc.xywh(14, d_numMainRows / 2 + 2, 1, d_numMainRows / 2 + 1, CellConstraints.CENTER, CellConstraints.BOTTOM)); progressPanel.add(new GraphSimpleNode(circleSize, GraphSimpleNodeType.DECISION), cc.xywh(14, d_numMainRows + 2, 1, 1, CellConstraints.CENTER, CellConstraints.CENTER)); progressPanel.add( new GraphLine(new Dimension((int) (d_edgeLength + (d_edgeLength)), d_arrowSize), 2, SwingConstants.EAST), cc.xyw(14, d_numMainRows + 2, 2, CellConstraints.RIGHT, CellConstraints.DEFAULT)); progressPanel.add(new GraphSimpleNode(circleSize, GraphSimpleNodeType.END), cc.xy(16, d_numMainRows + 2)); progressPanel.add(new GraphLine(new Dimension(d_edgeLength * 9, d_arrowSize), 2, SwingConstants.WEST), cc.xyw(10, d_numMainRows + 2, 14 - 7, CellConstraints.LEFT, CellConstraints.DEFAULT)); progressPanel.add(new GraphBar(new Dimension(d_edgeLength * 2, d_barWidth)), cc.xy(9, d_numMainRows + 2)); int totalHeight = (int) progressPanel.getPreferredSize().getHeight(); progressPanel.add( new GraphConnector(new Dimension(d_edgeLength * 2, totalHeight), d_cellHeight + Sizes.DLUY3.getPixelSize(progressPanel), totalHeight - 30, d_numberOfChains), cc.xywh(9, 1, 1, d_numTotalRows)); PanelBuilder builder = new PanelBuilder(new FormLayout("pref", "p")); builder.setDefaultDialogBorder(); builder.add(progressPanel); return builder.getPanel(); }
From source file:org.eclipse.wb.internal.swing.FormLayout.gef.FormSelectionEditPolicy.java
License:Open Source License
@Override public void performRequest(Request request) { if (request instanceof KeyRequest) { KeyRequest keyRequest = (KeyRequest) request; if (keyRequest.isPressed()) { char c = keyRequest.getCharacter(); // horizontal if (c == 'd') { setAlignment(true, CellConstraints.DEFAULT); } else if (c == 'l') { setAlignment(true, CellConstraints.LEFT); } else if (c == 'f') { setAlignment(true, CellConstraints.FILL); } else if (c == 'c') { setAlignment(true, CellConstraints.CENTER); } else if (c == 'r') { setAlignment(true, CellConstraints.RIGHT); }/* www.j av a2s . c om*/ // vertical if (c == 'D') { setAlignment(false, CellConstraints.DEFAULT); } else if (c == 't') { setAlignment(false, CellConstraints.TOP); } else if (c == 'F') { setAlignment(false, CellConstraints.FILL); } else if (c == 'm') { setAlignment(false, CellConstraints.CENTER); } else if (c == 'b') { setAlignment(false, CellConstraints.BOTTOM); } } } }
From source file:org.eclipse.wb.internal.swing.FormLayout.model.CellConstraintsAssistantPage.java
License:Open Source License
public CellConstraintsAssistantPage(Composite parent, FormLayoutInfo layout, List<ObjectInfo> objects) { super(parent, objects); m_layout = layout;//from w ww . ja v a 2 s .c o m GridLayoutFactory.create(this).columns(3); // horizontal alignments { Group horizontalGroup = addChoiceProperty(this, "h alignment", ModelMessages.CellConstraintsAssistantPage_horizontalGroup, new Object[][] { new Object[] { ModelMessages.CellConstraintsAssistantPage_haDefault, CellConstraints.DEFAULT }, new Object[] { ModelMessages.CellConstraintsAssistantPage_haLeft, CellConstraints.LEFT }, new Object[] { ModelMessages.CellConstraintsAssistantPage_haCenter, CellConstraints.CENTER }, new Object[] { ModelMessages.CellConstraintsAssistantPage_haRight, CellConstraints.RIGHT }, new Object[] { ModelMessages.CellConstraintsAssistantPage_haFill, CellConstraints.FILL } }); GridDataFactory.modify(horizontalGroup).fill(); } // vertical alignments { Group verticalGroup = addChoiceProperty(this, "v alignment", ModelMessages.CellConstraintsAssistantPage_verticalGroup, new Object[][] { new Object[] { ModelMessages.CellConstraintsAssistantPage_vaDefault, CellConstraints.DEFAULT }, new Object[] { ModelMessages.CellConstraintsAssistantPage_vaTop, CellConstraints.TOP }, new Object[] { ModelMessages.CellConstraintsAssistantPage_vaCenter, CellConstraints.CENTER }, new Object[] { ModelMessages.CellConstraintsAssistantPage_vaBottom, CellConstraints.BOTTOM }, new Object[] { ModelMessages.CellConstraintsAssistantPage_vaFill, CellConstraints.FILL } }); GridDataFactory.modify(verticalGroup).fill(); } // grid { Group gridGroup = addIntegerProperties(this, ModelMessages.CellConstraintsAssistantPage_gridGroup, new String[][] { { "grid x", ModelMessages.CellConstraintsAssistantPage_gridX }, { "grid y", ModelMessages.CellConstraintsAssistantPage_gridY }, { "grid width", ModelMessages.CellConstraintsAssistantPage_gridWidth }, { "grid height", ModelMessages.CellConstraintsAssistantPage_gridHeight } }); GridDataFactory.modify(gridGroup).fill(); } }
From source file:org.eclipse.wb.internal.swing.FormLayout.model.CellConstraintsSupport.java
License:Open Source License
/** * @return the small {@link Image} that represents horizontal/vertical alignment. *///from w w w . ja v a 2 s . c om public Image getSmallAlignmentImage(boolean horizontal) { if (horizontal) { if (alignH == CellConstraints.LEFT) { return Activator.getImage("alignment/h/left.gif"); } else if (alignH == CellConstraints.CENTER) { return Activator.getImage("alignment/h/center.gif"); } else if (alignH == CellConstraints.RIGHT) { return Activator.getImage("alignment/h/right.gif"); } else if (alignH == CellConstraints.FILL) { return Activator.getImage("alignment/h/fill.gif"); } else { return null; } } else { if (alignV == CellConstraints.TOP) { return Activator.getImage("alignment/v/top.gif"); } else if (alignV == CellConstraints.CENTER) { return Activator.getImage("alignment/v/center.gif"); } else if (alignV == CellConstraints.BOTTOM) { return Activator.getImage("alignment/v/bottom.gif"); } else if (alignV == CellConstraints.FILL) { return Activator.getImage("alignment/v/fill.gif"); } else { return null; } } }
From source file:org.eclipse.wb.internal.swing.FormLayout.model.CellConstraintsSupport.java
License:Open Source License
/** * Adds the horizontal alignment {@link Action}'s. */// www . j a v a 2 s . com public void fillHorizontalAlignmentMenu(IMenuManager manager) { manager.add(new SetAlignmentAction(ModelMessages.CellConstraintsSupport_haDefault, "default.gif", true, CellConstraints.DEFAULT)); manager.add(new SetAlignmentAction(ModelMessages.CellConstraintsSupport_haLeft, "left.gif", true, CellConstraints.LEFT)); manager.add(new SetAlignmentAction(ModelMessages.CellConstraintsSupport_haCenter, "center.gif", true, CellConstraints.CENTER)); manager.add(new SetAlignmentAction(ModelMessages.CellConstraintsSupport_haRight, "right.gif", true, CellConstraints.RIGHT)); manager.add(new SetAlignmentAction(ModelMessages.CellConstraintsSupport_haFill, "fill.gif", true, CellConstraints.FILL)); }
From source file:org.eclipse.wb.internal.swing.FormLayout.model.FormLayoutConverter.java
License:Open Source License
/** * Calculate horizontal alignment./*from ww w .ja v a 2 s .c o m*/ */ private static CellConstraints.Alignment getHorizontalAlignment(List<ComponentGroup> columns, ComponentInGroup componentInGroup, GeneralLayoutData generalLayoutData) { if (generalLayoutData.horizontalAlignment != null) { // from general layout data CellConstraints.Alignment alignment = GeneralLayoutData .getRealValue(FormLayoutInfo.m_horizontalAlignmentMap, generalLayoutData.horizontalAlignment); if (alignment != null && alignment != CellConstraints.DEFAULT) { return alignment; } } // calculate IAbstractComponentInfo component = componentInGroup.getComponent(); // prepare begin/end column ComponentGroup beginColumn = GridConvertionHelper.getBeginForComponent(columns, componentInGroup); ComponentGroup endColumn = GridConvertionHelper.getEndForComponent(columns, componentInGroup); int columnLeft = beginColumn.getMin(); int columnRight = endColumn.getMax(); int columnCenter = columnLeft + (columnRight - columnLeft) / 2; Rectangle bounds = component.getBounds(); Dimension prefSize = component.getPreferredSize(); int bl = bounds.x; int br = bounds.right(); // int leftOffset = Math.abs(bl - columnLeft); int rightOffset = Math.abs(columnRight - br); // prepare how much location of two sides will be changed for each alignment int leftDelta = leftOffset + Math.abs(columnLeft + prefSize.width - br); int rightDelta = rightOffset + Math.abs(columnRight - prefSize.width - bl); int fillDelta = leftOffset + rightOffset; int centerDelta = Math.abs(bl - (columnCenter - prefSize.width / 2)) + Math.abs(br - (columnCenter + prefSize.width / 2)); // set alignment return getAlignment(new int[] { leftDelta, centerDelta, rightDelta, fillDelta }, new Alignment[] { CellConstraints.LEFT, CellConstraints.CENTER, CellConstraints.RIGHT, CellConstraints.FILL }); }