From 19e8c7d23bc36fe163405769036f19ef59b0f8c3 Mon Sep 17 00:00:00 2001 From: obo Date: Tue, 19 Dec 2023 14:49:55 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-107652=20=E3=80=90=E6=9C=80=E5=BC=BA?= =?UTF-8?q?=E6=8E=A7=E4=BB=B6=E3=80=91=E5=8D=95=E5=85=83=E6=A0=BC=E7=9A=84?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=8E=A7=E4=BB=B6=EF=BC=8C=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=90=8E=E5=85=B3=E9=97=AD=E5=BC=80?= =?UTF-8?q?=E5=90=AF=E6=98=BE=E7=A4=BA=E5=A2=9E=E5=BC=BA=EF=BC=8C=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E9=A1=B9=E6=98=BE=E7=A4=BA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widget/ui/btn/FreeButtonDetailPane.java | 58 ++++++++++++------- 1 file changed, 36 insertions(+), 22 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java b/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java index 4e8a9d5e9..2cc39d52a 100644 --- a/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java +++ b/designer-realize/src/main/java/com/fr/design/widget/ui/btn/FreeButtonDetailPane.java @@ -3,6 +3,7 @@ package com.fr.design.widget.ui.btn; import java.awt.Component; import com.fr.form.ui.FreeButton; +import com.fr.widgettheme.util.WidgetThemeDesignerUtils; /** * 自定义按钮 @@ -12,33 +13,46 @@ import com.fr.form.ui.FreeButton; * Created on 2023/4/19 */ public class FreeButtonDetailPane extends AbstractExtraButtonPane { - private ButtonSytleDefinedPane buttonSytleDefinedPane; - - @Override - protected Component createCenterPane() { - buttonSytleDefinedPane = new ButtonSytleDefinedPane(); - return createExtraPane(buttonSytleDefinedPane); - } - - @Override - public FreeButton createButton() { - return new FreeButton(); - } - - public void populate(FreeButton button) { - super.populate(button); - buttonSytleDefinedPane.populate(button); - } + private ButtonSytleDefinedPane buttonSytleDefinedPane; + + @Override + protected Component createCenterPane() { + buttonSytleDefinedPane = creatButtonSytleDefinedPane(); + return createExtraPane(buttonSytleDefinedPane); + } + + @Override + public FreeButton createButton() { + return new FreeButton(); + } + + public void populate(FreeButton button) { + super.populate(button); + if (buttonSytleDefinedPane != null) { + buttonSytleDefinedPane.populate(button); + } + } @Override public FreeButton update() { FreeButton button = super.update(); - buttonSytleDefinedPane.update(button); + if (buttonSytleDefinedPane != null) { + buttonSytleDefinedPane.update(button); + } return button; } - @Override - public Class classType() { - return FreeButton.class; - } + @Override + public Class classType() { + return FreeButton.class; + } + + /** + * 自定义按钮控件开启控件显示增强时,原有的buttonSytleDefinedPane会被保留 + * 内容和控件增强的pane重复,且不生效。其他控件目前不存在这种情况,因此要在实现这里做个判断 + * 如果开启控件增强,原有的ButtonSytleDefinedPane不展示,创建时返回null + */ + private ButtonSytleDefinedPane creatButtonSytleDefinedPane() { + return WidgetThemeDesignerUtils.enableWidgetEnhance() ? null : new ButtonSytleDefinedPane(); + } } \ No newline at end of file