diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_bottom_align.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_bottom_align.svg
new file mode 100644
index 0000000000..25544d99e1
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_bottom_align.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_bottom_align_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_bottom_align_disable.svg
new file mode 100644
index 0000000000..a3f5e89fb5
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_bottom_align_disable.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_center.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_center.svg
new file mode 100644
index 0000000000..0686dc97bf
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_center.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_center_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_center_disable.svg
new file mode 100644
index 0000000000..15185165ab
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_center_disable.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_distribute.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_distribute.svg
new file mode 100644
index 0000000000..0cb2dba130
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_distribute.svg
@@ -0,0 +1,8 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_distribute_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_distribute_disable.svg
new file mode 100644
index 0000000000..bdbc4cb218
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_horizontal_distribute_disable.svg
@@ -0,0 +1,5 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_left_align.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_left_align.svg
new file mode 100644
index 0000000000..f611b29c34
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_left_align.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_left_align_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_left_align_disable.svg
new file mode 100644
index 0000000000..2dad9aa3c1
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_left_align_disable.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_right_align.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_right_align.svg
new file mode 100644
index 0000000000..d914b29fef
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_right_align.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_right_align_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_right_align_disable.svg
new file mode 100644
index 0000000000..1e2368cc87
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_right_align_disable.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_top_align.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_top_align.svg
new file mode 100644
index 0000000000..efc6bd391d
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_top_align.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_top_align_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_top_align_disable.svg
new file mode 100644
index 0000000000..2087739095
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_top_align_disable.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_center.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_center.svg
new file mode 100644
index 0000000000..0fd18a1aa4
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_center.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_center_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_center_disable.svg
new file mode 100644
index 0000000000..0479e03629
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_center_disable.svg
@@ -0,0 +1,4 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_distribute.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_distribute.svg
new file mode 100644
index 0000000000..45c0fdea12
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_distribute.svg
@@ -0,0 +1,8 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_distribute_disable.svg b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_distribute_disable.svg
new file mode 100644
index 0000000000..4c799c85cf
--- /dev/null
+++ b/designer-base/src/main/resources/com/fine/theme/icon/arrange/arrange_vertical_distribute_disable.svg
@@ -0,0 +1,5 @@
+
diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json b/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
index 3d09c571bf..475c24d733 100644
--- a/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
+++ b/designer-base/src/main/resources/com/fine/theme/light/ui/fine_light.icon.json
@@ -472,7 +472,14 @@
"layout_top_right": "layout/layout_top_right.svg",
"theme_edit": "theme_edit.svg",
"folder_half_authority" : "filetree/folder_half_authority.svg",
- "folder_half_authority_open" : "filetree/folder_half_authority_open.svg"
-
+ "folder_half_authority_open" : "filetree/folder_half_authority_open.svg",
+ "arrange_left_align": "arrange/arrange_left_align.svg",
+ "arrange_horizontal_center": "arrange/arrange_horizontal_center.svg",
+ "arrange_right_align": "arrange/arrange_right_align.svg",
+ "arrange_top_align": "arrange/arrange_top_align.svg",
+ "arrange_vertical_center": "arrange/arrange_vertical_center.svg",
+ "arrange_bottom_align": "arrange/arrange_bottom_align.svg",
+ "arrange_horizontal_distribute": "arrange/arrange_horizontal_distribute.svg",
+ "arrange_vertical_distribute": "arrange/arrange_vertical_distribute.svg"
}
}
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 9474295049..2bfd21a30c 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
@@ -1,10 +1,13 @@
package com.fr.design.mainframe.widget.arrangement.buttons;
+import com.fine.theme.icon.LazyIcon;
import com.fr.design.event.UIObserver;
import com.fr.design.event.UIObserverListener;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.mainframe.MultiSelectionArrangement;
+import com.fr.stable.StringUtils;
+import javax.swing.Icon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -16,11 +19,21 @@ public abstract class AbstractMultiSelectionArrangementButton extends UIButton i
public AbstractMultiSelectionArrangementButton(MultiSelectionArrangement arrangement) {
super();
this.arrangement = arrangement;
- this.setNormalPainted(false);
- this.setBorderPaintedOnlyWhenPressed(true);
- this.setIcon(getIcon());
this.setToolTipText(getTipText());
this.addActionListener(getActionListener());
+ setBorderPainted(false);
+ setBackground(null);
+ setBackground(null);
+ }
+
+ @Override
+ public Icon getIcon() {
+ LazyIcon icon = new LazyIcon(getIconId());
+ return isEnabled() ? icon : icon.disabled();
+ }
+
+ public String getIconId() {
+ return StringUtils.EMPTY;
}
@Override
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 97974298a5..8cacba2055 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
@@ -3,9 +3,6 @@ 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;
public class BottomAlignButton extends AbstractMultiSelectionArrangementButton {
private static final long serialVersionUID = 2397455240682353024L;
@@ -15,8 +12,8 @@ public class BottomAlignButton extends AbstractMultiSelectionArrangementButton {
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_bottom_align.png");
+ public String getIconId() {
+ return "arrange_bottom_align";
}
@Override
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 ec8f315df2..d55cd0b0c9 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
@@ -3,9 +3,6 @@ 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;
public class HorizontalCenterButton extends AbstractMultiSelectionArrangementButton {
private static final long serialVersionUID = 6290178236460051049L;
@@ -15,8 +12,8 @@ public class HorizontalCenterButton extends AbstractMultiSelectionArrangementBut
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_horizontal_center_align.png");
+ public String getIconId() {
+ return "arrange_horizontal_center";
}
@Override
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 0702248ed4..3b2c057b41 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
@@ -3,9 +3,6 @@ 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;
public class HorizontalDistributionButton extends AbstractMultiSelectionArrangementButton {
private static final long serialVersionUID = 5052092252720664954L;
@@ -15,8 +12,8 @@ public class HorizontalDistributionButton extends AbstractMultiSelectionArrangem
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_horizontal_auto_spacing.png");
+ public String getIconId() {
+ return "arrange_horizontal_distribute";
}
@Override
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 02a6a2c796..09f2a282cd 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
@@ -3,9 +3,6 @@ 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;
public class LeftAlignButton extends AbstractMultiSelectionArrangementButton {
private static final long serialVersionUID = -8177637788632733710L;
@@ -15,8 +12,8 @@ public class LeftAlignButton extends AbstractMultiSelectionArrangementButton {
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_left_align.png");
+ public String getIconId() {
+ return "arrange_left_align";
}
@Override
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 1b047b6ba8..2112758564 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
@@ -3,9 +3,6 @@ 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;
public class RightAlignButton extends AbstractMultiSelectionArrangementButton {
private static final long serialVersionUID = -8698936349956288409L;
@@ -15,8 +12,8 @@ public class RightAlignButton extends AbstractMultiSelectionArrangementButton {
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_right_align.png");
+ public String getIconId() {
+ return "arrange_right_align";
}
@Override
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 0adfb9378e..fb551282d7 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
@@ -3,9 +3,6 @@ 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;
public class TopAlignButton extends AbstractMultiSelectionArrangementButton {
private static final long serialVersionUID = 2896267783075870924L;
@@ -15,8 +12,8 @@ public class TopAlignButton extends AbstractMultiSelectionArrangementButton {
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_top_align.png");
+ public String getIconId() {
+ return "arrange_top_align";
}
@Override
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 4fb8b62a28..77c1255cbd 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
@@ -3,9 +3,6 @@ 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;
public class VerticalCenterButton extends AbstractMultiSelectionArrangementButton {
public VerticalCenterButton(MultiSelectionArrangement arrangement) {
@@ -13,8 +10,8 @@ public class VerticalCenterButton extends AbstractMultiSelectionArrangementButto
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_vertical_center_align.png");
+ public String getIconId() {
+ return "arrange_vertical_center";
}
@Override
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 76dcf9427a..8906923c37 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
@@ -3,9 +3,6 @@ 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;
public class VerticalDistributionButton extends AbstractMultiSelectionArrangementButton {
public VerticalDistributionButton(MultiSelectionArrangement arrangement) {
@@ -13,8 +10,8 @@ public class VerticalDistributionButton extends AbstractMultiSelectionArrangemen
}
@Override
- public Icon getIcon() {
- return IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_vertical_auto_spacing.png");
+ public String getIconId() {
+ return "arrange_vertical_distribute";
}
@Override
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 cf59b595c5..b4c0776e38 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
@@ -1,5 +1,8 @@
package com.fr.design.mainframe.widget.ui;
+import com.fine.theme.icon.LazyIcon;
+import com.fine.theme.utils.FineLayoutBuilder;
+import com.formdev.flatlaf.util.ScaledEmptyBorder;
import com.fr.design.designer.beans.events.DesignerEvent;
import com.fr.design.gui.frpane.AttributeChangeListener;
import com.fr.design.gui.ibutton.UIButton;
@@ -24,7 +27,6 @@ import com.fr.general.IOUtils;
import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils;
-import javax.swing.BorderFactory;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Component;
@@ -43,93 +45,46 @@ public class FormMultiWidgetCardPane extends FormWidgetCardPane {
public void initPropertyPane() {
arrangement = new MultiSelectionArrangement(designer);
- content.setBorder(BorderFactory.createEmptyBorder(0, 15, 0, 0));
content.add(createArrangementLayoutPane(), BorderLayout.CENTER);
- this.listener = new AttributeChangeListener() {
- @Override
- public void attributeChange() {
- designer.getEditListenerTable().fireCreatorModified(DesignerEvent.CREATOR_RESIZED);
- }
- };
+ setBorder(new ScaledEmptyBorder(10, 0, 0, 0));
+ this.listener = () -> designer.getEditListenerTable().fireCreatorModified(DesignerEvent.CREATOR_RESIZED);
}
- // 整个排列分布面板的layout,可以看成一个三行一列的表格,第一行是分布,第二行是自动间距,第三行是手动间距
+ /**
+ * 整个排列分布面板的layout,可以看成一个两行一列的表格,第一行是分布,第二行是自动间距
+ */
private JPanel createArrangementLayoutPane() {
- double[] rowSize = {TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED};
- double[] columnSize = {TableLayout.PREFERRED};
- Component[][] components = new Component[][] {
- new Component[] {
- createAlignmentPane()
- },
- new Component[] {
- createAutoSpacingPane()
- }
- };
- return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 0, 16);
+ return FineLayoutBuilder.createVerticalLayout(10, createAlignmentPane(), createAutoSpacingPane());
}
// 对齐
private JPanel createAlignmentPane() {
- double[] rowSize = {TableLayout.PREFERRED};
- double[] columnSize = {
- TableLayout.PREFERRED,
- TableLayout.PREFERRED,
- TableLayout.PREFERRED,
- TableLayout.PREFERRED,
- TableLayout.PREFERRED,
- TableLayout.PREFERRED
- };
- Component[][] components = new Component[][] {
- new Component[] {
- new LeftAlignButton(arrangement),
- new HorizontalCenterButton(arrangement),
- new RightAlignButton(arrangement),
- new TopAlignButton(arrangement),
- new VerticalCenterButton(arrangement),
- new BottomAlignButton(arrangement)
- }
- };
- JPanel centerPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 18, 0);
+ JPanel centerPane = FineLayoutBuilder.createHorizontalLayout(16,
+ new LeftAlignButton(arrangement),
+ new HorizontalCenterButton(arrangement),
+ new RightAlignButton(arrangement),
+ new TopAlignButton(arrangement),
+ new VerticalCenterButton(arrangement),
+ new BottomAlignButton(arrangement));
+
return createTitleLayout(Toolkit.i18nText("Fine-Design_Multi_Selection_Align"), centerPane);
}
// 自动间距
private JPanel createAutoSpacingPane() {
- double[] rowSize = {TableLayout.PREFERRED};
- double[] columnSize = {
- TableLayout.PREFERRED,
- TableLayout.PREFERRED
- };
UIButton horizontalAutoSpacingBtn = new HorizontalDistributionButton(arrangement);
UIButton verticalAutoSpacingBtn = new VerticalDistributionButton(arrangement);
if (designer.getSelectionModel().getSelection().size() < 3) {
horizontalAutoSpacingBtn.setEnabled(false);
verticalAutoSpacingBtn.setEnabled(false);
}
- Component[][] components = new Component[][] {
- new Component[] {
- horizontalAutoSpacingBtn,
- verticalAutoSpacingBtn
- }
- };
- JPanel centerPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 18, 0);
+ JPanel centerPane = FineLayoutBuilder.createHorizontalLayout(16, horizontalAutoSpacingBtn, verticalAutoSpacingBtn);
-
- UILabel tip = new UILabel(IOUtils.readIcon("/com/fr/design/images/buttonicon/multi_selection_auto_spacing_tip.png"));
+ UILabel tip = new UILabel(new LazyIcon("jumpHelp", 12));
tip.setToolTipText(Toolkit.i18nText("Fine-Design_Multi_Selection_Auto_Spacing_Tip"));
- Component[][] titleComponents = new Component[][] {
- new Component[] {
- new UILabel(Toolkit.i18nText("Fine-Design_Multi_Selection_Auto_Spacing")),
- tip
- }
- };
- JPanel northPane = TableLayoutHelper.createGapTableLayoutPane(titleComponents, rowSize, columnSize, 5, 0);
+ JPanel northPane = FineLayoutBuilder.createHorizontalLayout(5, new UILabel(Toolkit.i18nText("Fine-Design_Multi_Selection_Auto_Spacing")), tip);
- JPanel jPanel = new JPanel();
- jPanel.setLayout(new BorderLayout(0, 8));
- jPanel.add(northPane, BorderLayout.NORTH);
- jPanel.add(centerPane, BorderLayout.CENTER);
- return jPanel;
+ return FineLayoutBuilder.createVerticalLayout(10, northPane, centerPane);
}
// 手动间距
@@ -195,13 +150,11 @@ public class FormMultiWidgetCardPane extends FormWidgetCardPane {
}
}
- // 创建一个BorderLayout布局,上面是标题,例如“对齐”,下面是个容器
+ /**
+ * 创建一个面板,上面是标题,例如“对齐”,下面是个容器
+ */
private JPanel createTitleLayout(String title, JPanel centerPane) {
- JPanel jPanel = new JPanel();
- jPanel.setLayout(new BorderLayout(0, 8));
- jPanel.add(new UILabel(title), BorderLayout.NORTH);
- jPanel.add(centerPane, BorderLayout.CENTER);
- return jPanel;
+ return FineLayoutBuilder.createVerticalLayout(10, new UILabel(title), centerPane);
}
@Override