From ec9f79560fed24c0e1a8b0a5e31b8819718520a7 Mon Sep 17 00:00:00 2001 From: "Bruce.Deng" Date: Wed, 21 Aug 2019 10:07:11 +0800 Subject: [PATCH 1/4] =?UTF-8?q?REPORT-19464=20=E3=80=90=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E3=80=91TAB=E4=B8=8B=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=BC=8F=E5=9B=BE=E6=A0=87=E4=BC=98=E5=8C=962?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/layout/FRGUIPaneFactory.java | 2 +- .../mobile/ui/TabIconConfigPane.java | 26 ++++++++++++++++++- .../com/fr/design/web/CustomIconPane.java | 10 +++---- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java index d906cc39e..4f514477f 100644 --- a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java +++ b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java @@ -213,7 +213,7 @@ public class FRGUIPaneFactory { public static JPanel createMediumHGapFlowInnerContainer_M_Pane_First0() { JPanel jp = new JPanel(); jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - jp.setLayout(new FRLeftFlowLayout(0, 20, 5)); + jp.setLayout(new FRLeftFlowLayout(0, 5, 0)); return jp; } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java index 724a9c949..9fa9182d7 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java @@ -11,6 +11,8 @@ import com.fr.design.web.CustomIconPane; import com.fr.form.ui.WidgetInfoConfig; import com.fr.general.ComparatorUtils; import com.fr.general.FRFont; +import com.fr.stable.StringUtils; + import javax.swing.BorderFactory; import javax.swing.JComponent; import javax.swing.JPanel; @@ -33,6 +35,7 @@ import java.util.ArrayList; public class TabIconConfigPane extends JPanel { private UIButton editIconButton; + private UIButton deleteIconButton; private String curIconName; private IconButton selectIconButton; private ArrayList iconButtons = new ArrayList(); @@ -43,7 +46,7 @@ public class TabIconConfigPane extends JPanel { public void initComp(int count) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel panel = FRGUIPaneFactory.createLeftFlowZeroGapBorderPane(); + JPanel panel = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane_First0(); panel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0)); editIconButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit")); editIconButton.setFont(FRFont.getInstance("Helvetica", Font.PLAIN, 12, Color.decode("#3A383A"))); @@ -63,12 +66,28 @@ public class TabIconConfigPane extends JPanel { curIconName = cip.update(); setShowIconImage(); TabIconConfigPane.this.repaint(); + deleteIconButton.setEnabled(true); } }); editDialog.setVisible(true); } }); editIconButton.setEnabled(false); + + deleteIconButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Delete")); + deleteIconButton.setFont(FRFont.getInstance("Helvetica", Font.PLAIN, 12, Color.decode("#3A383A"))); + deleteIconButton.setPreferredSize(new Dimension(62, 20)); + panel.add(deleteIconButton); + deleteIconButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + curIconName = ""; + setShowIconImage(); + TabIconConfigPane.this.repaint(); + deleteIconButton.setEnabled(false); + } + }); + deleteIconButton.setEnabled(false); + this.add(panel, BorderLayout.CENTER); JPanel northPane = new JPanel(); @@ -163,6 +182,11 @@ public class TabIconConfigPane extends JPanel { public void actionPerformed(ActionEvent evt) { selectIconButton = this; editIconButton.setEnabled(true); + if (StringUtils.equals("", this.getIconName())) { + deleteIconButton.setEnabled(false); + } else { + deleteIconButton.setEnabled(true); + } TabIconConfigPane.this.repaint();// repaint } diff --git a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java index 74a499030..35ff2afba 100644 --- a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java +++ b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java @@ -433,7 +433,7 @@ public class CustomIconPane extends BasicPane { JPanel imagePane = new JPanel(); imagePane.setLayout(new FlowLayout(FlowLayout.LEFT, 30, 0)); showImageLabel = new UILabel(); - showImageLabel.setPreferredSize(new Dimension(20, 20)); + showImageLabel.setPreferredSize(new Dimension(50, 50)); imagePane.add(showImageLabel); imagePane.add(browseButton); Component[][] components = {{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Name") + ":"), nameTextField}, {new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Icon") + ":"), imagePane}}; @@ -450,12 +450,12 @@ public class CustomIconPane extends BasicPane { if (JFileChooser.APPROVE_OPTION == jf.showOpenDialog(DesignerContext.getDesignerFrame())) { String path = jf.getSelectedFile().getAbsolutePath(); - // 将图片转化到16 × 16大小 + // 图片存储有最大值48*48限制,没有超过最大值时,按原图大小存储,超过最大值后,压缩至最大值存储 Image image = BaseUtils.readImage(path); - BufferedImage bufferedImage = CoreGraphHelper.createBufferedImage(IconManager.DEFAULT_ICONWIDTH, - IconManager.DEFAULT_ICONHEIGHT, BufferedImage.TYPE_INT_ARGB); + BufferedImage bufferedImage = CoreGraphHelper.createBufferedImage(image.getWidth(null) >= 48 ? IconManager.DEFAULT_ICONWIDTH + 32 : image.getWidth(null), + image.getHeight(null) >= 48 ? IconManager.DEFAULT_ICONHEIGHT + 32 : image.getHeight(null), BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = bufferedImage.createGraphics(); - g2d.drawImage(image, 0, 0, IconManager.DEFAULT_ICONWIDTH, IconManager.DEFAULT_ICONHEIGHT, null); + g2d.drawImage(image, 0, 0, image.getWidth(null) >= 48 ? IconManager.DEFAULT_ICONWIDTH + 32 : image.getWidth(null), image.getHeight(null) >= 48 ? IconManager.DEFAULT_ICONHEIGHT + 32 : image.getHeight(null), null); bufferedImage.flush(); g2d.dispose(); iconImage = bufferedImage; From 7800cc8235b3c13019146c32403b2b5581ac2837 Mon Sep 17 00:00:00 2001 From: "Bruce.Deng" Date: Wed, 21 Aug 2019 10:51:21 +0800 Subject: [PATCH 2/4] =?UTF-8?q?REPORT-19464=20=E3=80=90=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E3=80=91TAB=E4=B8=8B=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=BC=8F=E5=9B=BE=E6=A0=87=E4=BC=98=E5=8C=962?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/layout/FRGUIPaneFactory.java | 12 ++++++++++++ .../mainframe/mobile/ui/TabIconConfigPane.java | 8 ++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java index 4f514477f..38097c2d9 100644 --- a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java +++ b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java @@ -211,6 +211,18 @@ public class FRGUIPaneFactory { * @return JPanel对象 */ public static JPanel createMediumHGapFlowInnerContainer_M_Pane_First0() { + JPanel jp = new JPanel(); + jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + jp.setLayout(new FRLeftFlowLayout(0, 20, 5)); + return jp; + } + + /** + * 创建一个靠左空边框面板,间隔小,firsthgap 为0 + * + * @return JPanel对象 + */ + public static JPanel createTinyHGapFlowInnerContainer_M_Pane_First0() { JPanel jp = new JPanel(); jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); jp.setLayout(new FRLeftFlowLayout(0, 5, 0)); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java index 9fa9182d7..214156ef3 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/TabIconConfigPane.java @@ -46,7 +46,7 @@ public class TabIconConfigPane extends JPanel { public void initComp(int count) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel panel = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane_First0(); + JPanel panel = FRGUIPaneFactory.createTinyHGapFlowInnerContainer_M_Pane_First0(); panel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 0)); editIconButton = new UIButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Edit")); editIconButton.setFont(FRFont.getInstance("Helvetica", Font.PLAIN, 12, Color.decode("#3A383A"))); @@ -182,11 +182,7 @@ public class TabIconConfigPane extends JPanel { public void actionPerformed(ActionEvent evt) { selectIconButton = this; editIconButton.setEnabled(true); - if (StringUtils.equals("", this.getIconName())) { - deleteIconButton.setEnabled(false); - } else { - deleteIconButton.setEnabled(true); - } + deleteIconButton.setEnabled(StringUtils.isNotEmpty(this.getIconName())); TabIconConfigPane.this.repaint();// repaint } From 3d5a891ae6d3de7bac290b70b8f9992a636504aa Mon Sep 17 00:00:00 2001 From: "Bruce.Deng" Date: Wed, 21 Aug 2019 15:23:24 +0800 Subject: [PATCH 3/4] =?UTF-8?q?REPORT-19464=20=E3=80=90=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E3=80=91TAB=E4=B8=8B=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=BC=8F=E5=9B=BE=E6=A0=87=E4=BC=98=E5=8C=962?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/web/CustomIconPane.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java index 35ff2afba..bc21d4c73 100644 --- a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java +++ b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java @@ -452,10 +452,10 @@ public class CustomIconPane extends BasicPane { String path = jf.getSelectedFile().getAbsolutePath(); // 图片存储有最大值48*48限制,没有超过最大值时,按原图大小存储,超过最大值后,压缩至最大值存储 Image image = BaseUtils.readImage(path); - BufferedImage bufferedImage = CoreGraphHelper.createBufferedImage(image.getWidth(null) >= 48 ? IconManager.DEFAULT_ICONWIDTH + 32 : image.getWidth(null), - image.getHeight(null) >= 48 ? IconManager.DEFAULT_ICONHEIGHT + 32 : image.getHeight(null), BufferedImage.TYPE_INT_ARGB); + BufferedImage bufferedImage = CoreGraphHelper.createBufferedImage(image.getWidth(null) >= 48 ? IconManager.MAXSTORAGE_ICONWIDTH : image.getWidth(null), + image.getHeight(null) >= 48 ? IconManager.MAXSTORAGE_ICONHEIGHT : image.getHeight(null), BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = bufferedImage.createGraphics(); - g2d.drawImage(image, 0, 0, image.getWidth(null) >= 48 ? IconManager.DEFAULT_ICONWIDTH + 32 : image.getWidth(null), image.getHeight(null) >= 48 ? IconManager.DEFAULT_ICONHEIGHT + 32 : image.getHeight(null), null); + g2d.drawImage(image, 0, 0, image.getWidth(null) >= 48 ? IconManager.MAXSTORAGE_ICONWIDTH : image.getWidth(null), image.getHeight(null) >= 48 ? IconManager.MAXSTORAGE_ICONHEIGHT : image.getHeight(null), null); bufferedImage.flush(); g2d.dispose(); iconImage = bufferedImage; From 6e65fd6e0a9ee8190fad98dfbe6d35ff4d1baf2f Mon Sep 17 00:00:00 2001 From: "Bruce.Deng" Date: Wed, 21 Aug 2019 18:28:07 +0800 Subject: [PATCH 4/4] =?UTF-8?q?REPORT-19464=20=E3=80=90=E5=8C=B9=E9=85=8D?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E3=80=91TAB=E4=B8=8B=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=BC=8F=E5=9B=BE=E6=A0=87=E4=BC=98=E5=8C=962?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/web/CustomIconPane.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java index bc21d4c73..0231963b9 100644 --- a/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java +++ b/designer-base/src/main/java/com/fr/design/web/CustomIconPane.java @@ -452,10 +452,10 @@ public class CustomIconPane extends BasicPane { String path = jf.getSelectedFile().getAbsolutePath(); // 图片存储有最大值48*48限制,没有超过最大值时,按原图大小存储,超过最大值后,压缩至最大值存储 Image image = BaseUtils.readImage(path); - BufferedImage bufferedImage = CoreGraphHelper.createBufferedImage(image.getWidth(null) >= 48 ? IconManager.MAXSTORAGE_ICONWIDTH : image.getWidth(null), - image.getHeight(null) >= 48 ? IconManager.MAXSTORAGE_ICONHEIGHT : image.getHeight(null), BufferedImage.TYPE_INT_ARGB); + BufferedImage bufferedImage = CoreGraphHelper.createBufferedImage(Math.min(image.getWidth(null), IconManager.MAXSTORAGE_ICONWIDTH), + Math.min(image.getHeight(null), IconManager.MAXSTORAGE_ICONHEIGHT), BufferedImage.TYPE_INT_ARGB); Graphics2D g2d = bufferedImage.createGraphics(); - g2d.drawImage(image, 0, 0, image.getWidth(null) >= 48 ? IconManager.MAXSTORAGE_ICONWIDTH : image.getWidth(null), image.getHeight(null) >= 48 ? IconManager.MAXSTORAGE_ICONHEIGHT : image.getHeight(null), null); + g2d.drawImage(image, 0, 0, Math.min(image.getWidth(null), IconManager.MAXSTORAGE_ICONWIDTH), Math.min(image.getHeight(null), IconManager.MAXSTORAGE_ICONHEIGHT), null); bufferedImage.flush(); g2d.dispose(); iconImage = bufferedImage;