From 359946750de1d3519aab44c1e261745144ef370b Mon Sep 17 00:00:00 2001 From: renekton Date: Wed, 14 Aug 2024 18:55:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=92=AE=E9=97=B4=E8=B7=9D=E3=80=81?= =?UTF-8?q?=E5=B8=83=E5=B1=80=E3=80=81optionPaneUI=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=A1=AE=E5=AE=9Abutton=20style=EF=BC=9B=E4=B8=BB=E9=A2=98?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=9D=A2=E6=9D=BF=E7=BC=A9=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fine/theme/light/ui/FineOptionPaneUI.java | 30 +++++++++++++++++ .../fr/design/actions/file/RenameAction.java | 6 ++-- .../connect/DatabaseConnectionPane.java | 2 +- .../DefaultTemplateTreeDefineProcessor.java | 9 ++--- .../fr/design/formula/TinyFormulaPane.java | 2 +- .../design/gui/columnrow/ColumnRowPane.java | 3 ++ .../design/gui/controlpane/UIControlPane.java | 6 +++- .../controlpane/UIListGroupControlPane.java | 21 +++++++++--- .../design/gui/frpane/HyperlinkGroupPane.java | 3 +- .../gui/itree/filetree/ReportletPane.java | 33 ++++++++++--------- ...tractTranslucentBackgroundSpecialPane.java | 5 +-- .../hyperlink/ReportletHyperNorthPane.java | 15 ++++----- .../hyperlink/popup/ContentSettingPane.java | 2 +- .../fr/design/javascript/JSContentPane.java | 11 ++++--- .../mainframe/theme/TemplateThemeBlock.java | 9 ++--- .../theme/TemplateThemeEditorPane.java | 12 ++++--- .../theme/TemplateThemePreviewPane.java | 5 +-- .../theme/TemplateThemeProfilePane.java | 4 +-- .../theme/edit/CellStyleListEditPane.java | 3 +- .../theme/edit/ChartStyleEditPane.java | 3 +- .../theme/edit/FormBodyStyleEditPane.java | 9 +++-- .../theme/edit/ReportBodyStyleEditPane.java | 5 +-- .../theme/edit/ui/ColorListPane.java | 3 +- .../theme/preview/ChartPreviewPane.java | 3 +- .../theme/preview/ComponentPreviewPane.java | 3 +- .../theme/preview/FormThemePreviewPane.java | 5 +-- .../theme/preview/ReportThemePreviewPane.java | 5 +-- .../java/com/fr/file/FILEChooserPane.java | 2 +- .../WidgetDisplayReportThemePreviewPane.java | 7 ++-- .../theme/light/ui/laf/FineLaf.properties | 2 +- .../impl/ChartHyperRelateCellLinkPane.java | 7 ++-- .../impl/ChartHyperRelateFloatLinkPane.java | 7 ++-- 32 files changed, 156 insertions(+), 86 deletions(-) create mode 100644 designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java diff --git a/designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java b/designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java new file mode 100644 index 0000000000..e1a4f4ba8e --- /dev/null +++ b/designer-base/src/main/java/com/fine/theme/light/ui/FineOptionPaneUI.java @@ -0,0 +1,30 @@ +package com.fine.theme.light.ui; + +import com.fine.theme.utils.FineUIStyle; +import com.formdev.flatlaf.ui.FlatOptionPaneUI; + +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.UIManager; +import javax.swing.plaf.ComponentUI; +import java.awt.Component; +import java.awt.Container; + +public class FineOptionPaneUI extends FlatOptionPaneUI { + + public static ComponentUI createUI(JComponent c ) { + return new FineOptionPaneUI(); + } + + @Override + protected void addButtonComponents(Container container, Object[] buttons, + int initialIndex) { + super.addButtonComponents(container, buttons, initialIndex); + Component[] components = container.getComponents(); + for (Component component: components) { + if (UIManager.getString("OptionPane.okButtonText", optionPane.getLocale()).equals(((JButton) component).getText())) { + FineUIStyle.setStyle((JButton) component, FineUIStyle.STYLE_PRIMARY); + } + } + } +} diff --git a/designer-base/src/main/java/com/fr/design/actions/file/RenameAction.java b/designer-base/src/main/java/com/fr/design/actions/file/RenameAction.java index 610d702bb8..ac19f107b6 100644 --- a/designer-base/src/main/java/com/fr/design/actions/file/RenameAction.java +++ b/designer-base/src/main/java/com/fr/design/actions/file/RenameAction.java @@ -2,6 +2,7 @@ package com.fr.design.actions.file; import com.fine.theme.icon.LazyIcon; import com.fine.theme.utils.FineUIScale; +import com.fine.theme.utils.FineUIStyle; import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.base.BaseUtils; import com.fr.chartx.TwoTuple; @@ -194,6 +195,7 @@ public class RenameAction extends UpdateAction { // 确认按钮 confirmButton = new UIButton(Toolkit.i18nText("Fine-Design_Basic_Confirm")); + FineUIStyle.setStyle(confirmButton, FineUIStyle.STYLE_PRIMARY); confirmButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -213,8 +215,8 @@ public class RenameAction extends UpdateAction { }); - JPanel buttonsPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, 10, 0)); - buttonsPane.setBorder(new ScaledEmptyBorder(10, 15, 10, 10)); + JPanel buttonsPane = new JPanel(new FlowLayout(FlowLayout.RIGHT, 8, 0)); + buttonsPane.setBorder(new ScaledEmptyBorder(0, 0, 10, 0)); buttonsPane.add(confirmButton); buttonsPane.add(cancelButton); diff --git a/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java b/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java index 370ce5219e..c56734b82e 100644 --- a/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java +++ b/designer-base/src/main/java/com/fr/design/data/datapane/connect/DatabaseConnectionPane.java @@ -337,7 +337,7 @@ public abstract class DatabaseConnectionPane implements UIObserver protected void initLayout() { this.setLayout(new BorderLayout()); - this.add(row(8, + this.add(row(4, cell(formulaTextField).weight(2.4), cell(formulaTextFieldButton).weight(0.5) ).getComponent()) ; } diff --git a/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java b/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java index f48aa3d252..d23a1fd22f 100644 --- a/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/columnrow/ColumnRowPane.java @@ -1,5 +1,6 @@ package com.fr.design.gui.columnrow; +import com.fine.theme.utils.FineUIUtils; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import com.fr.design.gui.ispinner.ColumnRowSpinner; @@ -133,6 +134,7 @@ public class ColumnRowPane extends JPanel implements UIObserver { } }; + rowSpinner.setBackground(FineUIUtils.getUIColor("background.normal", "background.normal")); JFormattedTextField rftf = GUICoreUtils.getSpinnerTextField(rowSpinner); if (rftf != null) { rftf.setColumns(4); // specify more width than we need @@ -147,6 +149,7 @@ public class ColumnRowPane extends JPanel implements UIObserver { return false; } }; + columnSpinner.setBackground(FineUIUtils.getUIColor("background.normal", "background.normal")); JFormattedTextField cftf = GUICoreUtils.getSpinnerTextField(columnSpinner); if (cftf != null) { cftf.setColumns(3); // specify more width than we need diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java index 21729be7e6..cb305f9cc4 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIControlPane.java @@ -81,7 +81,7 @@ public abstract class UIControlPane extends JControlPane { if (isNewStyle()) { createPopupEditDialog(cardPane); this.add(getLeftPane(), BorderLayout.CENTER); - this.setBorder(new ScaledEmptyBorder(10, 10, 15, 10)); + this.setBorder(new ScaledEmptyBorder(10, 10, 10, 10)); } else { // 增加边框 JPanel leftPaneWrapper = new JPanel(new BorderLayout()); @@ -185,6 +185,10 @@ public abstract class UIControlPane extends JControlPane { this.repaint(); } + protected UIToolbar getTopToolBar() { + return this.topToolBar; + } + // 点击"编辑"按钮,弹出面板 protected class PopupEditDialog extends JDialog { private JComponent editPane; diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java index 44fba28f5a..2d6baca862 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/UIListGroupControlPane.java @@ -1,8 +1,11 @@ package com.fr.design.gui.controlpane; import com.fine.theme.light.ui.FineRoundBorder; +import com.fine.theme.utils.FineUIScale; +import com.fine.theme.utils.FineUIUtils; import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.design.beans.BasicBeanPane; +import com.fr.design.border.FineBorderFactory; import com.fr.design.constants.UIConstants; import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.ilable.UILabel; @@ -11,6 +14,7 @@ import com.fr.design.gui.ilist.ListModelElement; import com.fr.design.gui.ilist.ModNameActionListener; 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.widget.EventCreator; import com.fr.form.event.Listener; @@ -21,6 +25,7 @@ import com.fr.stable.ArrayUtils; import com.fr.stable.Nameable; import com.fr.stable.StringUtils; +import javax.swing.BorderFactory; import javax.swing.DefaultListModel; import javax.swing.JPanel; import javax.swing.ListModel; @@ -78,6 +83,13 @@ public abstract class UIListGroupControlPane extends UIControlPane implements Li return isPopulating; } + @Override + protected JPanel getLeftTopPane(UIToolbar topToolBar) { + UIToolbar toolbar = getTopToolBar(); + toolbar.setPreferredSize(FineUIScale.scale(new Dimension(160, 24))); + return super.getLeftTopPane(topToolBar); + } + @Override protected void initLeftPane(JPanel leftPane) { leftPane.add(new UIScrollPane(contentPane = FRGUIPaneFactory.createVerticalFlowLayout_Pane(true, FlowLayout.LEADING, 0, 0)), BorderLayout.CENTER); @@ -200,6 +212,7 @@ public abstract class UIListGroupControlPane extends UIControlPane implements Li nameEdList.setCellRenderer(new UINameableListCellRenderer(true, this.creators)); nameEdList.setName(text); + nameEdList.setBackground(FineUIUtils.getUIColor("background.normal", "background.normal")); nameEdList.setSelectionBackground(UIConstants.ATTRIBUTE_PRESS); nameEdList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); nameEdList.addMouseListener(new MouseAdapter() { @@ -537,18 +550,18 @@ public abstract class UIListGroupControlPane extends UIControlPane implements Li public ListWrapperPane(String labelText, UINameEdList nameEdList) { this.setLayout(FRGUIPaneFactory.createBorderLayout()); - UILabel label = new UILabel(labelText + getWrapperLabelText()) { + UILabel label = new UILabel(" " + labelText + getWrapperLabelText()) { @Override public void paint(Graphics g) { ((Graphics2D) g).setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.8f)); super.paint(g); } }; - label.setBorder(new ScaledEmptyBorder(0, 8, 0, 0)); - label.setOpaque(true); - label.setBackground(Color.WHITE); + label.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, FineUIUtils.getUIColor("fill.hover", "fill.hover"))); + label.setBackground(FineUIUtils.getUIColor("background.normal", "background.normal")); label.setForeground(UIManager.getColor("List.wrapper.text.fontColor")); label.setFont(label.getFont().deriveFont(11F)); + label.setPreferredSize(new Dimension(this.getPreferredSize().width, FineUIScale.scale(24))); this.nameEdList = nameEdList; this.add(label, BorderLayout.NORTH); this.add(this.nameEdList, BorderLayout.CENTER); diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPane.java b/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPane.java index 979c3f973f..56f6776ac4 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/HyperlinkGroupPane.java @@ -5,7 +5,6 @@ import com.formdev.flatlaf.ui.FlatUIUtils; import com.fr.design.ExtraDesignClassManager; import com.fr.design.border.FineBorderFactory; import com.fr.design.designer.TargetComponent; -import com.fr.design.file.HistoryTemplateListCache; import com.fr.design.fun.HyperlinkProvider; import com.fr.design.gui.controlpane.NameableCreator; import com.fr.design.gui.controlpane.UIListControlPane; @@ -107,7 +106,7 @@ public abstract class HyperlinkGroupPane extends UIListControlPane { return row(10, cell(FRWidgetFactory.createLineWrapLabel(getAddItemText())), cell(topToolBar).with(it -> { - it.setPreferredSize(new Dimension(0, FineUIScale.scale(24))); + it.setPreferredSize(FineUIScale.scale(new Dimension(160, 24))); it.setBorderPainted(true); it.setBorder(FineBorderFactory.createWrappedRoundBorder()); it.setBackground(FlatUIUtils.getUIColor("fill.normal", Color.WHITE)); diff --git a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java index 69e5a2c8ae..dbc7c54464 100644 --- a/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/itree/filetree/ReportletPane.java @@ -1,21 +1,24 @@ package com.fr.design.gui.itree.filetree; +import com.fine.theme.utils.FineUIUtils; +import com.fr.design.border.FineBorderFactory; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.itextarea.UITextArea; +import com.fr.design.gui.ilable.UILabel; import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.utils.DesignUtils; -import com.fr.design.utils.gui.GUICoreUtils; import com.fr.file.filetree.IOFileNodeFilter; import javax.swing.JPanel; import javax.swing.JScrollPane; import java.awt.BorderLayout; import java.awt.CardLayout; -import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import static com.fine.swing.ui.layout.Layouts.column; +import static com.fine.swing.ui.layout.Layouts.row; +import static com.fine.swing.ui.layout.Layouts.cell; + public class ReportletPane extends BasicPane { private TemplateFileTree templateReportletTree; private JScrollPane t_panel; @@ -27,21 +30,18 @@ public class ReportletPane extends BasicPane { private JPanel cardPane; public ReportletPane() { - this.setLayout(FRGUIPaneFactory.createM_BorderLayout()); - // Description - UITextArea textPane = new UITextArea(); - this.add(textPane, BorderLayout.NORTH); - textPane.setEditable(false); - textPane.setLineWrap(true); - - textPane.setFont(DesignUtils.getDefaultGUIFont().applyStyle(Font.BOLD)); - textPane.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Schedule_The_Selected_File_Must_Be_End_With_Filter")); + this.setLayout(new BorderLayout()); + JPanel buttonPane = new JPanel(new BorderLayout()); + // Description + UILabel tipLabel = new UILabel(); + tipLabel.setText(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Schedule_The_Selected_File_Must_Be_End_With_Filter")); + tipLabel.setForeground(FineUIUtils.getUIColor("Label.tipColor", "Label.tipColor")); JPanel centerPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); this.add(centerPane, BorderLayout.CENTER); switchButton = new UIButton("switch"); - centerPane.add(GUICoreUtils.createBorderPane(switchButton, BorderLayout.WEST), BorderLayout.NORTH); + buttonPane.add(row(10, cell(switchButton), cell(tipLabel)).getComponent()); switchButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { @@ -50,15 +50,16 @@ public class ReportletPane extends BasicPane { }); cardPane = FRGUIPaneFactory.createCardLayout_S_Pane(); - centerPane.add(cardPane, BorderLayout.CENTER); cardPane.setLayout(card = new CardLayout()); templateReportletTree = new TemplateFileTree(); + templateReportletTree.setBackground(FineUIUtils.getUIColor("background.normal", "background.normal")); + templateReportletTree.setBorder(FineBorderFactory.createWrappedRoundBorder()); IOFileNodeFilter filter = new IOFileNodeFilter(new String[]{".cpt", ".class", ".frm", ".form", ".cptx"}); templateReportletTree.setFileNodeFilter(filter); cardPane.add(t_panel = new JScrollPane(templateReportletTree), "TEMPLATE"); classReportletTree = new ClassFileTree(); cardPane.add(c_panel = new JScrollPane(classReportletTree), "CLASS"); - + centerPane.add(column(6, cell(buttonPane), cell(cardPane)).getComponent()); this.refreshEnv(); } diff --git a/designer-base/src/main/java/com/fr/design/gui/style/AbstractTranslucentBackgroundSpecialPane.java b/designer-base/src/main/java/com/fr/design/gui/style/AbstractTranslucentBackgroundSpecialPane.java index 0b814f284a..f1bc865c9f 100644 --- a/designer-base/src/main/java/com/fr/design/gui/style/AbstractTranslucentBackgroundSpecialPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/style/AbstractTranslucentBackgroundSpecialPane.java @@ -1,5 +1,6 @@ package com.fr.design.gui.style; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.design.designer.IntervalConstants; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.frpane.UIPercentDragPane; @@ -51,7 +52,7 @@ public abstract class AbstractTranslucentBackgroundSpecialPane extends JPanel { - public static final int INFO_HEIGHT = 30; - public static final int CONTENT_WIDTH = ThemeThumbnail.WIDTH; - public static final int CONTENT_HEIGHT = ThemeThumbnail.HEIGHT + INFO_HEIGHT; + public static final int INFO_HEIGHT = FineUIScale.scale(30); + public static final int CONTENT_WIDTH = FineUIScale.scale(ThemeThumbnail.WIDTH); + public static final int CONTENT_HEIGHT = FineUIScale.scale(ThemeThumbnail.HEIGHT) + INFO_HEIGHT; private static final Color HOVERING_BORDER_COLOR = new Color(65, 155, 249); private final String name; @@ -151,7 +152,7 @@ public class TemplateThemeBlock extends JPanel { private void addProfileButton(JPanel panel) { profileButton = new UILabel(profileIcon); - profileButton.setPreferredSize(new Dimension(24, 24)); + profileButton.setPreferredSize(FineUIScale.scale(new Dimension(24, 24))); panel.add(profileButton, BorderLayout.EAST); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java index 5432109dc0..2d43c3f76b 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeEditorPane.java @@ -1,5 +1,7 @@ package com.fr.design.mainframe.theme; +import com.fine.theme.utils.FineUIScale; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.base.theme.FineColorSynchronizer; import com.fr.base.theme.TemplateTheme; import com.fr.base.theme.TemplateThemeConfig; @@ -84,7 +86,7 @@ public abstract class TemplateThemeEditorPane extends J private void initializePane() { setLayout(new BorderLayout(0, 0)); - setPreferredSize(new Dimension(RIGHT_PANE_WIDTH, RIGHT_PANE_HEIGHT)); + setPreferredSize(FineUIScale.scale(new Dimension(RIGHT_PANE_WIDTH, RIGHT_PANE_HEIGHT))); JPanel nameEditPane = createNameEditPane(); add(nameEditPane, BorderLayout.NORTH); @@ -103,7 +105,7 @@ public abstract class TemplateThemeEditorPane extends J nameTextField.setThemeConfig(config); nameTextField.setEditable(false); nameTextField.setEnabled(false); - nameTextField.setPreferredSize(new Dimension(165, 20)); + nameTextField.setPreferredSize(FineUIScale.scale(new Dimension(165, 20))); nameTextField.setNameCheckListener(new AutoCheckTextField.CheckListener() { @Override public void onChecked(String error, boolean valid) { @@ -121,7 +123,7 @@ public abstract class TemplateThemeEditorPane extends J new Component[] { null, nameErrorLabel }, }, new double[] { 20, 20}, new double[] { p, 165}, IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_W0); - container.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0)); + container.setBorder(new ScaledEmptyBorder(5, 0, 0, 0)); return container; } @@ -142,7 +144,7 @@ public abstract class TemplateThemeEditorPane extends J {null, tipLabel}, }, rowSize, columnSize, 18, 7); - content.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + content.setBorder(new ScaledEmptyBorder(10, 10, 10, 10)); JPanel borderContainer = new JPanel(new BorderLayout()); borderContainer.setBorder(BorderUtils.createTitleBorder(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Edit_Pane_Color_Scheme_Title"))); @@ -180,7 +182,7 @@ public abstract class TemplateThemeEditorPane extends J container.setBorder(BorderUtils.createTitleBorder(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Edit_Pane_Custom_Settings_Title"))); uiTabbedPane = new UITabbedPane(); - uiTabbedPane.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 1)); + uiTabbedPane.setBorder(new ScaledEmptyBorder(10, 5, 10, 1)); container.add(uiTabbedPane, BorderLayout.CENTER); initPluginListener(); return container; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemePreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemePreviewPane.java index c302cf1ad8..68029f4765 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemePreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemePreviewPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme; +import com.fine.theme.utils.FineUIScale; import com.fr.base.chart.chartdata.CallbackEvent; import com.fr.base.theme.TemplateTheme; import com.fr.base.theme.settings.ThemeThumbnail; @@ -22,8 +23,8 @@ import java.awt.image.BufferedImage; */ public abstract class TemplateThemePreviewPane extends JPanel implements CallbackEvent, ThemePreviewed { private JPanel parent; - public static final int PREVIEW_WIDTH = 627; - public static final int PREVIEW_HEIGHT = 532; + public static final int PREVIEW_WIDTH = FineUIScale.scale(627); + public static final int PREVIEW_HEIGHT = FineUIScale.scale(532); public void setParent(JPanel parent) { this.parent = parent; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java index 132338c9cb..4e8273161f 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/TemplateThemeProfilePane.java @@ -88,7 +88,7 @@ public abstract class TemplateThemeProfilePane extends JPanel titleContainer = FRGUIPaneFactory.createBorderLayout_S_Pane(); titleContainer.setPreferredSize(FineUIScale.scale(new Dimension(LEFT_TITLE_PANE_WIDTH, LEFT_TITLE_PANE_HEIGHT))); JPanel previewContainer = FRGUIPaneFactory.createBorderLayout_S_Pane(); - previewContainer.setBorder(BorderFactory.createEmptyBorder(5, 4, 10, 4)); + previewContainer.setBorder(new ScaledEmptyBorder(5, 4, 10, 4)); titleContainer.add(createTitlePane(), BorderLayout.NORTH); titleContainer.add(previewContainer, BorderLayout.CENTER); @@ -379,7 +379,7 @@ public abstract class TemplateThemeProfilePane extends */ protected JPanel createTitlePane() { JPanel titlePane = new JPanel(); - titlePane.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); + titlePane.setBorder(new ScaledEmptyBorder(0, 5, 0, 5)); titlePane.setLayout(new BorderLayout()); leftTitleLabel = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Template_Theme_Preview_Pane_Title")); leftTitlePromptLabel = new UILabel(Toolkit.i18nText("Fine-Design_Theme_Control_PC_Prompt")); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/CellStyleListEditPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/CellStyleListEditPane.java index 3f198f230a..5e569afbf5 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/CellStyleListEditPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/CellStyleListEditPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.edit; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.base.theme.settings.ThemedCellStyle; import com.fr.base.theme.settings.ThemedCellStyleList; import com.fr.design.actions.UpdateAction; @@ -56,7 +57,7 @@ public class CellStyleListEditPane extends JListControlPane { public CellStyleListEditPane() { super(); - setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 5)); + setBorder(new ScaledEmptyBorder(10, 5, 10, 5)); addModNameActionListener(new ModNameActionListener() { public void nameModed(int index, String oldName, String newName) { if (ComparatorUtils.equals(oldName, newName) || ComparatorUtils.equals(newName, NameInspector.ILLEGAL_NAME_HOLDER)) { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java index 4d75622aed..48ff8b21e1 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ChartStyleEditPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.edit; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.base.theme.settings.ThemedChartStyle; import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.MultiTabPane; @@ -34,7 +35,7 @@ public class ChartStyleEditPane extends MultiTabPane { @Override protected void initLayout() { super.initLayout(); - setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + setBorder(new ScaledEmptyBorder(10, 10, 10, 10)); } @Override diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/FormBodyStyleEditPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/FormBodyStyleEditPane.java index 1f2089e69d..18f5cfe6e2 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/FormBodyStyleEditPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/FormBodyStyleEditPane.java @@ -1,8 +1,11 @@ package com.fr.design.mainframe.theme.edit; +import com.fine.theme.utils.FineUIScale; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.base.theme.settings.ThemedFormBodyStyle; import com.fr.design.designer.IntervalConstants; import com.fr.design.gui.style.ComponentBodyStylePane; +import com.fr.web.component.FineUIShowComponent; import javax.swing.BorderFactory; import javax.swing.JScrollPane; @@ -14,14 +17,14 @@ import javax.swing.ScrollPaneConstants; * Created by Starryi on 2021/8/12 */ public class FormBodyStyleEditPane extends JScrollPane { - public static final int LABEL_WIDTH = 60; - public static final int SETTING_WIDTH = 193; + public static final int LABEL_WIDTH = FineUIScale.scale(60); + public static final int SETTING_WIDTH = FineUIScale.scale(193); private final ComponentBodyStylePane bodyStylePane; public FormBodyStyleEditPane() { bodyStylePane = new ComponentBodyStylePane(LABEL_WIDTH, SETTING_WIDTH); - bodyStylePane.setBorder(BorderFactory.createEmptyBorder( + bodyStylePane.setBorder(new ScaledEmptyBorder( IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1, diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ReportBodyStyleEditPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ReportBodyStyleEditPane.java index 4a14460255..70a3b19a95 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ReportBodyStyleEditPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ReportBodyStyleEditPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.edit; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.base.theme.settings.ThemedReportBodyStyle; import com.fr.design.designer.IntervalConstants; import com.fr.design.gui.ilable.UILabel; @@ -34,12 +35,12 @@ public class ReportBodyStyleEditPane extends JScrollPane { JPanel uiLabelPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); uiLabelPane.add(new UILabel(Toolkit.i18nText("Fine-Design_Report_Background_Fill")), BorderLayout.NORTH); - uiLabelPane.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0)); + uiLabelPane.setBorder(new ScaledEmptyBorder(10, 0, 0, 0)); JPanel backgroundLabeledPane = TableLayoutHelper.createCommonTableLayoutPane( new Component[][]{ new Component[] { uiLabelPane, backgroundPane } }, new double[] { p }, new double[] { LABEL_WIDTH, SETTING_WIDTH}, IntervalConstants.INTERVAL_L1 ); - backgroundLabeledPane.setBorder(BorderFactory.createEmptyBorder( + backgroundLabeledPane.setBorder(new ScaledEmptyBorder( IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1, IntervalConstants.INTERVAL_L1, diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ui/ColorListPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ui/ColorListPane.java index ab5d8a4ecf..063a56ebef 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ui/ColorListPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/edit/ui/ColorListPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.edit.ui; +import com.fine.theme.utils.FineUIScale; import com.fr.base.FineColor; import com.fr.base.background.ColorBackground; import com.fr.design.event.UIObserver; @@ -29,7 +30,7 @@ import java.util.List; */ public class ColorListPane extends JPanel implements UIObserver { public static final int DEFAULT_COLOR_COUNT = 8; - public static final int DEFAULT_COLOR_SIZE = 16; + public static final int DEFAULT_COLOR_SIZE = FineUIScale.scale(16); public static final int DEFAULT_COLOR_GAP = 3; private final int colorCount; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ChartPreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ChartPreviewPane.java index 2029539aa8..8ac381ae60 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ChartPreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ChartPreviewPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.preview; +import com.formdev.flatlaf.util.ScaledEmptyBorder; import com.fr.base.chart.BaseChartCollection; import com.fr.base.chart.BaseChartPainter; import com.fr.base.chart.chartdata.CallbackEvent; @@ -28,7 +29,7 @@ public class ChartPreviewPane extends MiddleChartComponent implements ThemePrevi private CallbackEvent callbackEvent; public ChartPreviewPane() { - this.setBorder(BorderFactory.createEmptyBorder(0, 1, 2, 1)); + this.setBorder(new ScaledEmptyBorder(0, 1, 2, 1)); } public void setCallbackEvent(CallbackEvent callbackEvent) { diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ComponentPreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ComponentPreviewPane.java index cfd2781aa8..d856a4079b 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ComponentPreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ComponentPreviewPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.preview; +import com.fine.theme.utils.FineUIScale; import com.fr.base.BaseUtils; import com.fr.base.Style; import com.fr.base.background.ImageBackground; @@ -59,7 +60,7 @@ public abstract class ComponentPreviewPane extends UINoOpaquePanel implements Th setLayout(new BorderLayout()); if (StringUtils.isNotEmpty(title)) { titlePane = new TitleDemoPane(title); - titlePane.setPreferredSize(new Dimension(517, TITLE_HEIGHT)); + titlePane.setPreferredSize(FineUIScale.scale(new Dimension(517, TITLE_HEIGHT))); container.add(titlePane, BorderLayout.NORTH); } container.add(createContentPane(), BorderLayout.CENTER); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java index 25a1daee92..31fb418390 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/FormThemePreviewPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.preview; +import com.fine.theme.utils.FineUIScale; import com.fr.base.BaseFormula; import com.fr.base.background.ColorBackground; import com.fr.base.theme.FormTheme; @@ -61,7 +62,7 @@ public class FormThemePreviewPane extends TemplateThemePreviewPane { chartContent.setLayout(new BorderLayout()); JPanel columnChartPanel = new UINoOpaquePanel() { public Dimension getPreferredSize() { - return new Dimension(379, 314); + return FineUIScale.scale(new Dimension(379, 314)); } }; columnChartPanel.setLayout(new BorderLayout()); @@ -70,7 +71,7 @@ public class FormThemePreviewPane extends TemplateThemePreviewPane { JPanel pieChartPanel = new UINoOpaquePanel() { public Dimension getPreferredSize() { - return new Dimension(236, 314); + return FineUIScale.scale(new Dimension(236, 314)); } }; pieChartPanel.setLayout(new BorderLayout()); diff --git a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ReportThemePreviewPane.java b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ReportThemePreviewPane.java index 103b6ca6e0..17471d6290 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ReportThemePreviewPane.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/theme/preview/ReportThemePreviewPane.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.theme.preview; +import com.fine.theme.utils.FineUIScale; import com.fr.base.BaseFormula; import com.fr.base.background.ColorBackground; import com.fr.base.theme.ReportTheme; @@ -41,11 +42,11 @@ public class ReportThemePreviewPane extends TemplateThemePreviewPane FineUIStyle.setStyle(it, FineUIStyle.STYLE_PRIMARY)) ) ).getComponent(); diff --git a/designer-base/src/main/java/com/fr/widgettheme/theme/panel/WidgetDisplayReportThemePreviewPane.java b/designer-base/src/main/java/com/fr/widgettheme/theme/panel/WidgetDisplayReportThemePreviewPane.java index a943cf4c4c..e6fbed957c 100644 --- a/designer-base/src/main/java/com/fr/widgettheme/theme/panel/WidgetDisplayReportThemePreviewPane.java +++ b/designer-base/src/main/java/com/fr/widgettheme/theme/panel/WidgetDisplayReportThemePreviewPane.java @@ -1,5 +1,6 @@ package com.fr.widgettheme.theme.panel; +import com.fine.theme.utils.FineUIScale; import com.fr.base.background.ColorBackground; import com.fr.base.theme.ReportTheme; import com.fr.chart.chartattr.ChartCollection; @@ -44,14 +45,14 @@ public class WidgetDisplayReportThemePreviewPane extends TemplateThemePreviewPan public WidgetDisplayReportThemePreviewPane() { setLayout(FRGUIPaneFactory.createBorderLayout()); chartPreviewPane = new ChartPreviewPane(); - chartPreviewPane.setPreferredSize(new Dimension(615, 207)); + chartPreviewPane.setPreferredSize(FineUIScale.scale(new Dimension(615, 207))); chartPreviewPane.populate(initColumnChart()); chartPreviewPane.setCallbackEvent(this); reportPreviewPane = new WidgetThemeECReportPreviewPane(); - reportPreviewPane.setPreferredSize(new Dimension(615, 257)); + reportPreviewPane.setPreferredSize(FineUIScale.scale(new Dimension(615, 257))); controlPreviewPane = new ControlPreviewPane(); controlPreviewPane.setLayout(FRGUIPaneFactory.createLabelFlowLayout()); - controlPreviewPane.setPreferredSize(new Dimension(615, 40)); + controlPreviewPane.setPreferredSize(FineUIScale.scale(new Dimension(615, 40))); controlPreviewPane.initControlPreviewPane(); this.add(reportPreviewPane, BorderLayout.CENTER); this.add(chartPreviewPane, BorderLayout.SOUTH); diff --git a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLaf.properties b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLaf.properties index 4bd77031c2..fa1221d0a2 100644 --- a/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLaf.properties +++ b/designer-base/src/main/resources/com/fine/theme/light/ui/laf/FineLaf.properties @@ -17,7 +17,7 @@ MenuUI=com.formdev.flatlaf.ui.FlatMenuUI MenuBarUI=com.formdev.flatlaf.ui.FlatMenuBarUI MenuItemUI=com.fine.theme.light.ui.FineMenuItemUI TemplateListMenuItemUI=com.fine.theme.light.ui.FineTemplateListMenuItemUI -OptionPaneUI=com.formdev.flatlaf.ui.FlatOptionPaneUI +OptionPaneUI=com.fine.theme.light.ui.FineOptionPaneUI PanelUI=com.fine.theme.light.ui.FinePanelUI PasswordFieldUI=com.formdev.flatlaf.ui.FlatPasswordFieldUI PopupMenuUI=com.fine.theme.light.ui.FinePopupMenuUI diff --git a/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateCellLinkPane.java b/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateCellLinkPane.java index ac92a7f709..a517b34642 100644 --- a/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateCellLinkPane.java +++ b/designer-chart/src/main/java/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateCellLinkPane.java @@ -59,10 +59,9 @@ public class ChartHyperRelateCellLinkPane extends AbstractHyperLinkPane