From e15f63daf5e5ad1862ff949a55be81663e07b1f2 Mon Sep 17 00:00:00 2001 From: lemon Date: Fri, 25 Oct 2024 17:53:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?REPORT-138763=20fix:=20=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=E5=B1=95=E7=A4=BA=E6=A1=86=20=E9=AB=98?= =?UTF-8?q?=E5=BA=A6=E8=B0=83=E6=95=B4=E3=80=82=E6=BC=8F=E7=BF=BB=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BA=86=E4=B8=80=E4=B8=8B?= =?UTF-8?q?=20render?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../design/foldablepane/UIExpandablePane.java | 5 ++--- .../controlpane/UISimpleListControlPane.java | 20 +++++++++++-------- .../designer/mobile/ParaMobileDefinePane.java | 3 ++- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java b/designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java index 140aa74c83..faae8d9f84 100644 --- a/designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java +++ b/designer-base/src/main/java/com/fr/design/foldablepane/UIExpandablePane.java @@ -59,15 +59,14 @@ public class UIExpandablePane extends JPanel { headerPanel = new HeaderPane(title); headerPanel.addMouseListener(new PanelAction()); setcontentPanelontentPanelBorder(); - this.add(headerPanel, BorderLayout.NORTH); - this.add(contentPanel, BorderLayout.CENTER); if (withUnderline) { this.add(column( cell(headerPanel), cell(contentPanel).with(it -> it.setBorder(new ScaledEmptyBorder(0, 0, 10, 0))), fix(1).with(it -> it.setBorder(FineBorderFactory.createDefaultUnderlineBorder()))) .getComponent()); } else { - this.add(column(cell(headerPanel), cell(contentPanel)).getComponent()); + this.add(headerPanel, BorderLayout.NORTH); + this.add(contentPanel, BorderLayout.CENTER); } setOpaque(false); diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java index c6536e138b..a7934c928a 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java @@ -1,6 +1,9 @@ package com.fr.design.gui.controlpane; import com.fine.theme.icon.LazyIcon; +import com.fine.theme.utils.FineUIScale; +import com.formdev.flatlaf.ui.FlatUIUtils; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.design.actions.UpdateAction; import com.fr.design.border.FineBorderFactory; import com.fr.design.constants.UIConstants; @@ -9,6 +12,7 @@ import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilist.ListModelElement; import com.fr.design.gui.ilist.UIList; +import com.fr.design.gui.ilist.UINameEdList; import com.fr.design.gui.itoolbar.UIToolbar; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.menu.ShortCut; @@ -26,12 +30,14 @@ import javax.swing.JList; import javax.swing.JPanel; import javax.swing.ListCellRenderer; import javax.swing.ListSelectionModel; +import javax.swing.UIManager; import javax.swing.border.Border; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; +import java.awt.Dimension; import java.awt.Point; import java.awt.Toolkit; import java.awt.event.ActionEvent; @@ -49,7 +55,7 @@ import java.util.Comparator; public class UISimpleListControlPane extends BasicPane { public static final String LIST_NAME = "UISimpleControl_List"; - protected UIList nameList; + protected UINameEdList nameList; protected String selectedName; private ShortCut4JControlPane[] shorts; private ToolBarDef toolbarDef; @@ -108,10 +114,8 @@ public class UISimpleListControlPane extends BasicPane { protected void initListPane(JPanel listPane) { nameList = createJNameList(); nameList.setName(LIST_NAME); - nameList.setSelectionBackground(UIConstants.ATTRIBUTE_PRESS); listPane.add(new UIScrollPane(nameList), BorderLayout.CENTER); - nameList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); nameList.addMouseListener(listMouseListener); nameList.addListSelectionListener(new ListSelectionListener() { @@ -124,8 +128,8 @@ public class UISimpleListControlPane extends BasicPane { }); } - public UIList createJNameList() { - UIList nameList = new UIList(new DefaultListModel()) { + public UINameEdList createJNameList() { + UINameEdList nameList = new UINameEdList(new DefaultListModel()) { @Override public int locationToIndex(Point location) { int index = super.locationToIndex(location); @@ -411,6 +415,7 @@ public class UISimpleListControlPane extends BasicPane { label = new UILabel(); initialLabelForeground = label.getForeground(); this.setLayout(new BorderLayout()); + label.setBorder(new ScaledEmptyBorder(0, 6, 0, 0)); this.add(label, BorderLayout.CENTER); } @@ -425,6 +430,7 @@ public class UISimpleListControlPane extends BasicPane { @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { + setPreferredSize(new Dimension(list.getWidth(), FineUIScale.scale(UIManager.getInt("List.cellRender.height")))); setComponentOrientation(list.getComponentOrientation()); Color bg = null; @@ -442,9 +448,7 @@ public class UISimpleListControlPane extends BasicPane { } if (isSelected) { - setBackground(bg == null ? list.getSelectionBackground() : bg); - setForeground(fg == null ? list.getSelectionForeground() : fg); - label.setForeground(Color.WHITE); + setBackground(FlatUIUtils.getUIColor("List.selectionInactiveBackground", Color.GRAY)); } else { setBackground(list.getBackground()); diff --git a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java index d2a9bb4f73..66eeab2186 100644 --- a/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java +++ b/designer-form/src/main/java/com/fr/design/widget/ui/designer/mobile/ParaMobileDefinePane.java @@ -1,6 +1,7 @@ package com.fr.design.widget.ui.designer.mobile; import com.fine.theme.utils.FineLayoutBuilder; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.design.ExtraDesignClassManager; import com.fr.design.designer.beans.events.DesignerEvent; import com.fr.design.designer.creator.XCreator; @@ -77,7 +78,7 @@ public class ParaMobileDefinePane extends MobileWidgetDefinePane { mobileWidgetListPane = new MobileWidgetListPane(designer, (WSortLayout) paraCreator.toData()); JPanel panelWrapper = FRGUIPaneFactory.createBorderLayout_S_Pane(); panelWrapper.add(mobileWidgetListPane, BorderLayout.CENTER); - + panelWrapper.setBorder(new ScaledEmptyBorder(0, 0, 10, 0)); return new UIExpandablePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Order"), 280, 20, panelWrapper); } From 4c06c013e3073267b4732942c09d328755a79027 Mon Sep 17 00:00:00 2001 From: lemon Date: Fri, 25 Oct 2024 17:59:25 +0800 Subject: [PATCH 2/2] =?UTF-8?q?REPORT-138763=20fix:=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E8=B4=A8=E9=87=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fr/design/gui/controlpane/UISimpleListControlPane.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java index a7934c928a..e04ec6c82f 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UISimpleListControlPane.java @@ -128,6 +128,10 @@ public class UISimpleListControlPane extends BasicPane { }); } + /** + * 构造 list,设置 render + * @return UINameEdList + */ public UINameEdList createJNameList() { UINameEdList nameList = new UINameEdList(new DefaultListModel()) { @Override