From a0798b48218e0f93de6a42859ff3504c4e22d5ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E7=A3=8A?= <294531121@qq.com> Date: Mon, 6 Dec 2021 16:36:46 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-63106=20=E5=86=B3=E7=AD=96=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8-=E4=B8=A4=E4=B8=AA=E7=BB=84=E4=BB=B6=E9=80=89?= =?UTF-8?q?=E4=B8=AD=E6=97=B6=E6=8B=96=E6=8B=BD=E5=88=B0=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E4=BD=8D=E7=BD=AE=EF=BC=8C=E7=84=B6=E5=90=8E=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=E4=BB=BB=E6=84=8F=E4=B8=80=E4=B8=AA=EF=BC=8C?= =?UTF-8?q?=E4=B8=A4=E4=B8=AA=E7=BB=84=E4=BB=B6=E4=BC=9A=E8=B7=B3=E5=9B=9E?= =?UTF-8?q?=E5=88=9A=E6=89=8D=E7=9A=84=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/mainframe/ArrangementType.java | 33 ++++++++ .../mainframe/MultiSelectionArrangement.java | 81 ++++++++++++++----- ...stractMultiSelectionArrangementButton.java | 14 ++++ .../buttons/BottomAlignButton.java | 15 ++-- .../buttons/HorizontalCenterButton.java | 15 ++-- .../buttons/HorizontalDistributionButton.java | 15 ++-- .../arrangement/buttons/LeftAlignButton.java | 15 ++-- .../MultiSelectionArrangementButton.java | 4 + .../arrangement/buttons/RightAlignButton.java | 15 ++-- .../arrangement/buttons/TopAlignButton.java | 15 ++-- .../buttons/VerticalCenterButton.java | 13 +-- .../buttons/VerticalDistributionButton.java | 13 +-- .../widget/ui/FormMultiWidgetCardPane.java | 5 +- 13 files changed, 149 insertions(+), 104 deletions(-) create mode 100644 designer-form/src/main/java/com/fr/design/mainframe/ArrangementType.java diff --git a/designer-form/src/main/java/com/fr/design/mainframe/ArrangementType.java b/designer-form/src/main/java/com/fr/design/mainframe/ArrangementType.java new file mode 100644 index 0000000000..58f4b34643 --- /dev/null +++ b/designer-form/src/main/java/com/fr/design/mainframe/ArrangementType.java @@ -0,0 +1,33 @@ +package com.fr.design.mainframe; + +public enum ArrangementType { + LEFT_ALIGN(0), + RIGHT_ALIGN(1), + TOP_ALIGN(2), + BOTTOM_ALIGN(3), + HORIZONTAL_CENTER_ALIGN(4), + VERTICAL_CENTER_ALIGN(5), + HORIZONTAL_AUTO_DISTRIBUTION(6), + HORIZONTAL_MANUAL_DISTRIBUTION(7), + VERTICAL_AUTO_DISTRIBUTION(8), + VERTICAL_MANUAL_DISTRIBUTION(9); + + private int type; + + ArrangementType(int type) { + this.type = type; + } + + public int getType() { + return this.type; + } + + public static ArrangementType parse(int type) { + for (ArrangementType arrangementType : ArrangementType.values()) { + if (arrangementType.getType() == type) { + return arrangementType; + } + } + return LEFT_ALIGN; + } +} diff --git a/designer-form/src/main/java/com/fr/design/mainframe/MultiSelectionArrangement.java b/designer-form/src/main/java/com/fr/design/mainframe/MultiSelectionArrangement.java index 49dbc8c974..3ffe7d94af 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/MultiSelectionArrangement.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/MultiSelectionArrangement.java @@ -15,67 +15,103 @@ import java.util.Comparator; import java.util.List; public class MultiSelectionArrangement { + private static final int DEFAULT_GAP = 10; + private FormDesigner designer; - private XLayoutContainer parent; // 当前选中的那些组件所在父容器 private List selectedCreators; private Rectangle rec; public MultiSelectionArrangement(FormDesigner designer) { this.designer = designer; - update(); } - public void leftAlign() { + public void doArrangement(ArrangementType type) { + doArrangement(type, DEFAULT_GAP); + } + + public void doArrangement(ArrangementType type, int gap) { + updatePosition(); + switch (type) { + case RIGHT_ALIGN: + rightAlign(); + break; + case TOP_ALIGN: + topAlign(); + break; + case BOTTOM_ALIGN: + bottomAlign(); + break; + case HORIZONTAL_CENTER_ALIGN: + horizontalCenterAlign(); + break; + case VERTICAL_CENTER_ALIGN: + verticalCenterAlign(); + break; + case HORIZONTAL_AUTO_DISTRIBUTION: + horizontalAutoDistribution(); + break; + case HORIZONTAL_MANUAL_DISTRIBUTION: + horizontalManualDistribution(gap); + break; + case VERTICAL_AUTO_DISTRIBUTION: + verticalAutoDistribution(); + break; + case VERTICAL_MANUAL_DISTRIBUTION: + verticalManualDistribution(gap); + break; + case LEFT_ALIGN: + default: + leftAlign(); + break; + } + updateModel(); + } + + private void leftAlign() { for (XCreator creator : selectedCreators) { creator.setLocation(rec.x, creator.getY()); } - update(); } - public void rightAlign() { + private void rightAlign() { for (XCreator creator : selectedCreators) { creator.setLocation(rec.x + rec.width - creator.getWidth(), creator.getY()); } - update(); } - public void topAlign() { + private void topAlign() { for (XCreator creator : selectedCreators) { creator.setLocation(creator.getX(), rec.y); } - update(); } - public void bottomAlign() { + private void bottomAlign() { for (XCreator creator : selectedCreators) { creator.setLocation(creator.getX(), rec.y + rec.height - creator.getHeight()); } - update(); } - public void horizontalCenterAlign() { + private void horizontalCenterAlign() { for (XCreator creator : selectedCreators) { creator.setLocation(rec.x + rec.width / 2 - creator.getWidth() / 2, creator.getY()); } - update(); } - public void verticalCenterAlign() { + private void verticalCenterAlign() { for (XCreator creator : selectedCreators) { creator.setLocation(creator.getX(), rec.y + rec.height / 2 - creator.getHeight() / 2); } - update(); } // 水平分布,自动,间距由selectedCreators和border共同计算而来 - public void horizontalAutoDistribution() { + private void horizontalAutoDistribution() { sortHorizontal(); int[] gaps = calculateHorizontalGaps(); horizontalDistribution(gaps); } // 水平分布,手动,传入一个间距,排列selectedCreators - public void horizontalManualDistribution(int gap) { + private void horizontalManualDistribution(int gap) { sortHorizontal(); reSizeRecByHorizontal(gap); horizontalDistribution(fillGaps(gap, selectedCreators.size() - 1)); @@ -87,7 +123,6 @@ public class MultiSelectionArrangement { XCreator preCreator = selectedCreators.get(i - 1); creator.setLocation(preCreator.getX() + preCreator.getWidth() + gaps[i - 1], creator.getY()); } - update(); } private void reSizeRecByHorizontal(int gap) { @@ -145,13 +180,13 @@ public class MultiSelectionArrangement { return calculateIntegerGaps(distanceBetweenHeadAndTailCreators - sum, gapCount); } - public void verticalAutoDistribution() { + private void verticalAutoDistribution() { sortVertical(); int[] gaps = calculateVerticalGaps(); verticalDistribution(gaps); } - public void verticalManualDistribution(int gap) { + private void verticalManualDistribution(int gap) { sortVertical(); reSizeRecByVertical(gap); verticalDistribution(fillGaps(gap, selectedCreators.size() - 1)); @@ -163,7 +198,6 @@ public class MultiSelectionArrangement { XCreator preCreator = selectedCreators.get(i - 1); creator.setLocation(creator.getX(), preCreator.getY() + preCreator.getHeight() + gaps[i - 1]); } - update(); } private void reSizeRecByVertical(int gap) { @@ -252,12 +286,15 @@ public class MultiSelectionArrangement { return gaps; } - private void update() { + private void updatePosition() { FormSelection selection = designer.getSelectionModel().getSelection(); this.selectedCreators = Arrays.asList(selection.getSelectedCreators()); this.rec = selection.getSelctionBounds(); - this.parent = getParent(selection.getSelectedCreator()); + } + private void updateModel() { + FormSelection selection = designer.getSelectionModel().getSelection(); + XLayoutContainer parent = getParent(selection.getSelectedCreator()); if (parent != null) { // 这里要修改修改engine里面的对象才能成功保存,光修改设计器对象没用 WLayout wabs = parent.toData(); diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/AbstractMultiSelectionArrangementButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/AbstractMultiSelectionArrangementButton.java index dc268f4c5b..9474295049 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/AbstractMultiSelectionArrangementButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/AbstractMultiSelectionArrangementButton.java @@ -5,6 +5,9 @@ import com.fr.design.event.UIObserverListener; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.mainframe.MultiSelectionArrangement; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + public abstract class AbstractMultiSelectionArrangementButton extends UIButton implements MultiSelectionArrangementButton, UIObserver { private static final long serialVersionUID = -2114423583742242771L; protected MultiSelectionArrangement arrangement; @@ -29,4 +32,15 @@ public abstract class AbstractMultiSelectionArrangementButton extends UIButton i public boolean shouldResponseChangeListener() { return true; } + + @Override + public ActionListener getActionListener() { + return new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + arrangement.doArrangement(getArrangementType()); + uiObserverListener.doChange(); + } + }; + } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/BottomAlignButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/BottomAlignButton.java index 99bf3a6c3a..97974298a5 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/BottomAlignButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/BottomAlignButton.java @@ -1,14 +1,15 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class BottomAlignButton extends AbstractMultiSelectionArrangementButton { + private static final long serialVersionUID = 2397455240682353024L; + public BottomAlignButton(MultiSelectionArrangement arrangement) { super(arrangement); } @@ -24,13 +25,7 @@ public class BottomAlignButton extends AbstractMultiSelectionArrangementButton { } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.bottomAlign(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.BOTTOM_ALIGN; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalCenterButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalCenterButton.java index 6dc9c09b4a..ec8f315df2 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalCenterButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalCenterButton.java @@ -1,14 +1,15 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class HorizontalCenterButton extends AbstractMultiSelectionArrangementButton { + private static final long serialVersionUID = 6290178236460051049L; + public HorizontalCenterButton(MultiSelectionArrangement arrangement) { super(arrangement); } @@ -24,13 +25,7 @@ public class HorizontalCenterButton extends AbstractMultiSelectionArrangementBut } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.horizontalCenterAlign(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.HORIZONTAL_CENTER_ALIGN; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalDistributionButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalDistributionButton.java index 0a0e225fc6..0702248ed4 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalDistributionButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/HorizontalDistributionButton.java @@ -1,14 +1,15 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class HorizontalDistributionButton extends AbstractMultiSelectionArrangementButton { + private static final long serialVersionUID = 5052092252720664954L; + public HorizontalDistributionButton(MultiSelectionArrangement arrangement) { super(arrangement); } @@ -24,13 +25,7 @@ public class HorizontalDistributionButton extends AbstractMultiSelectionArrangem } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.horizontalAutoDistribution(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.HORIZONTAL_AUTO_DISTRIBUTION; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/LeftAlignButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/LeftAlignButton.java index 20a25a87cb..02a6a2c796 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/LeftAlignButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/LeftAlignButton.java @@ -1,14 +1,15 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class LeftAlignButton extends AbstractMultiSelectionArrangementButton { + private static final long serialVersionUID = -8177637788632733710L; + public LeftAlignButton(MultiSelectionArrangement arrangement) { super(arrangement); } @@ -24,13 +25,7 @@ public class LeftAlignButton extends AbstractMultiSelectionArrangementButton { } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.leftAlign(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.LEFT_ALIGN; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/MultiSelectionArrangementButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/MultiSelectionArrangementButton.java index 99b7635708..96f5765988 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/MultiSelectionArrangementButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/MultiSelectionArrangementButton.java @@ -1,5 +1,7 @@ package com.fr.design.mainframe.widget.arrangement.buttons; +import com.fr.design.mainframe.ArrangementType; + import javax.swing.Icon; import java.awt.event.ActionListener; @@ -9,4 +11,6 @@ public interface MultiSelectionArrangementButton { String getTipText(); ActionListener getActionListener(); + + ArrangementType getArrangementType(); } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/RightAlignButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/RightAlignButton.java index 5fac70bd7a..1b047b6ba8 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/RightAlignButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/RightAlignButton.java @@ -1,14 +1,15 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class RightAlignButton extends AbstractMultiSelectionArrangementButton { + private static final long serialVersionUID = -8698936349956288409L; + public RightAlignButton(MultiSelectionArrangement arrangement) { super(arrangement); } @@ -24,13 +25,7 @@ public class RightAlignButton extends AbstractMultiSelectionArrangementButton { } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.rightAlign(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.RIGHT_ALIGN; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/TopAlignButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/TopAlignButton.java index ebb2c4d21a..0adfb9378e 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/TopAlignButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/TopAlignButton.java @@ -1,14 +1,15 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class TopAlignButton extends AbstractMultiSelectionArrangementButton { + private static final long serialVersionUID = 2896267783075870924L; + public TopAlignButton(MultiSelectionArrangement arrangement) { super(arrangement); } @@ -24,13 +25,7 @@ public class TopAlignButton extends AbstractMultiSelectionArrangementButton { } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.topAlign(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.TOP_ALIGN; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalCenterButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalCenterButton.java index 9898f9002c..4fb8b62a28 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalCenterButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalCenterButton.java @@ -1,12 +1,11 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class VerticalCenterButton extends AbstractMultiSelectionArrangementButton { public VerticalCenterButton(MultiSelectionArrangement arrangement) { @@ -24,13 +23,7 @@ public class VerticalCenterButton extends AbstractMultiSelectionArrangementButto } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.verticalCenterAlign(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.VERTICAL_CENTER_ALIGN; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalDistributionButton.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalDistributionButton.java index 50ec6ac894..76dcf9427a 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalDistributionButton.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/arrangement/buttons/VerticalDistributionButton.java @@ -1,12 +1,11 @@ package com.fr.design.mainframe.widget.arrangement.buttons; import com.fr.design.i18n.Toolkit; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.general.IOUtils; import javax.swing.Icon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; public class VerticalDistributionButton extends AbstractMultiSelectionArrangementButton { public VerticalDistributionButton(MultiSelectionArrangement arrangement) { @@ -24,13 +23,7 @@ public class VerticalDistributionButton extends AbstractMultiSelectionArrangemen } @Override - public ActionListener getActionListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - arrangement.verticalAutoDistribution(); - uiObserverListener.doChange(); - } - }; + public ArrangementType getArrangementType() { + return ArrangementType.VERTICAL_AUTO_DISTRIBUTION; } } diff --git a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormMultiWidgetCardPane.java b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormMultiWidgetCardPane.java index ffd2a0f74e..cf59b595c5 100644 --- a/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormMultiWidgetCardPane.java +++ b/designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormMultiWidgetCardPane.java @@ -9,6 +9,7 @@ import com.fr.design.gui.itextfield.UITextField; import com.fr.design.i18n.Toolkit; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.mainframe.ArrangementType; import com.fr.design.mainframe.FormDesigner; import com.fr.design.mainframe.MultiSelectionArrangement; import com.fr.design.mainframe.widget.arrangement.buttons.BottomAlignButton; @@ -186,9 +187,9 @@ public class FormMultiWidgetCardPane extends FormWidgetCardPane { int gap = (int) Math.floor(Float.parseFloat(text)); numberField.setValue(gap); if (isVertical) { - arrangement.verticalManualDistribution(gap); + arrangement.doArrangement(ArrangementType.VERTICAL_MANUAL_DISTRIBUTION, gap); } else { - arrangement.horizontalManualDistribution(gap); + arrangement.doArrangement(ArrangementType.HORIZONTAL_MANUAL_DISTRIBUTION, gap); } attributeChanged(); }