From 8132519b06d2e0c06156ba16904b4fcff584c976 Mon Sep 17 00:00:00 2001 From: obo Date: Fri, 1 Dec 2023 15:47:34 +0800 Subject: [PATCH 1/4] =?UTF-8?q?REPORT-109335=20=E5=9B=BD=E9=99=85=E5=8C=96?= =?UTF-8?q?=E4=B8=AD=EF=BC=8Cfr=E6=A8=A1=E6=9D=BF=E5=85=AC=E5=BC=8F?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FormulaPaneWhenReserveFormula.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java b/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java index ab49b605d..82efb8cd4 100644 --- a/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java +++ b/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java @@ -7,6 +7,11 @@ import javax.swing.JPanel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.Font; +import java.awt.FontMetrics; /** * @author richie @@ -42,6 +47,7 @@ public class FormulaPaneWhenReserveFormula extends FormulaPane { checkBoxPane.add(reserveCheckBox4Result, BorderLayout.WEST); checkBoxPane.add(reserveCheckBox4Write, BorderLayout.WEST); + calculatePaneHeightWithCount(checkBoxPane); } @Override @@ -60,4 +66,30 @@ public class FormulaPaneWhenReserveFormula extends FormulaPane { } return formula; } + + + /** + * 计算一下公式面板textPane的实际高度 + * 目前已知英文国际化下文本较长,右侧check按钮无法正常展示,实际俄文有可能更长,因此写一个换行规则 + * 不影响中文效果 + * + * @param checkBoxPane textPane + */ + private void calculatePaneHeightWithCount(JPanel checkBoxPane) { + int componentsWidth = 0; + int currentPaneHeight = checkBoxPane.getPreferredSize().height; + int currentPaneWidth = checkBoxPane.getPreferredSize().width; + int hGap = ((FlowLayout) checkBoxPane.getLayout()).getHgap(); + for (Component component : checkBoxPane.getComponents()) { + if(component instanceof UICheckBox) { + Font font = component.getFont(); + FontMetrics fontMetrics = component.getFontMetrics(font); + int width = fontMetrics.stringWidth(((UICheckBox) component).getText()); + componentsWidth += width + hGap; + } + } + int count = (componentsWidth / currentPaneWidth) + 1; + int resultPaneHeight = count * currentPaneHeight; + checkBoxPane.setPreferredSize(new Dimension(currentPaneWidth, resultPaneHeight)); + } } \ No newline at end of file From efe0c8cd411395e3689cf636da98b8fa56acafba Mon Sep 17 00:00:00 2001 From: obo Date: Mon, 4 Dec 2023 16:10:56 +0800 Subject: [PATCH 2/4] =?UTF-8?q?REPORT-109043=2011.0=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E9=AB=98=E5=BA=A6=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/fr/design/gui/controlpane/JListControlPane.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java b/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java index 93cdc4e4e..dfece2e13 100644 --- a/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/controlpane/JListControlPane.java @@ -17,6 +17,7 @@ import com.fr.stable.Nameable; import com.fr.stable.StringUtils; import com.fr.stable.core.PropertyChangeAdapter; +import javax.swing.BorderFactory; import javax.swing.DefaultListModel; import javax.swing.Icon; import javax.swing.JLabel; @@ -359,6 +360,8 @@ public abstract class JListControlPane extends JControlPane implements ListContr setLayout(new BorderLayout()); this.textLabel = new JLabel(); this.iconLabel = new JLabel(); + this.textLabel.setBorder(BorderFactory.createEmptyBorder(1, 0, 1, 1)); + this.iconLabel.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 0)); add(this.textLabel, BorderLayout.CENTER); add(this.iconLabel, BorderLayout.WEST); this.iconLabel.setBackground(Color.WHITE); From e0b2c5ad404c261c3ca0c2c19a5d136445d72327 Mon Sep 17 00:00:00 2001 From: obo Date: Tue, 5 Dec 2023 11:32:43 +0800 Subject: [PATCH 3/4] =?UTF-8?q?REPORT-109335=20=E6=8D=A2=E4=B8=AA=E6=96=B9?= =?UTF-8?q?=E6=A1=88=EF=BC=8C=E8=8B=B1=E6=96=87=E4=B8=8B=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E6=8B=89=E4=BC=B8=E9=9D=A2=E6=9D=BF=E5=AE=BD=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/fr/design/formula/FormulaPane.java | 8 +++++--- .../resources/com/fr/design/i18n/dimension_en.properties | 2 ++ .../com/fr/design/i18n/dimension_ja_JP.properties | 2 ++ .../com/fr/design/i18n/dimension_ko_KR.properties | 2 ++ .../resources/com/fr/design/i18n/dimension_zh.properties | 2 ++ .../com/fr/design/i18n/dimension_zh_TW.properties | 2 ++ 6 files changed, 15 insertions(+), 3 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java b/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java index f53930602..f41c044b7 100644 --- a/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java +++ b/designer-base/src/main/java/com/fr/design/formula/FormulaPane.java @@ -34,6 +34,7 @@ import com.fr.design.gui.itextarea.UITextArea; import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxTextArea; import com.fr.design.gui.syntax.ui.rsyntaxtextarea.SyntaxConstants; +import com.fr.design.i18n.DesignSizeI18nManager; import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.DesignerContext; @@ -742,7 +743,8 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula { } public BasicDialog showLargeWindow(Window window, DialogActionListener l) { - BasicDialog basicDialog = super.showWindowWithCustomSize(window, l, new Dimension(900, 600)); + Dimension dimension = DesignSizeI18nManager.getInstance().i18nDimension(this.getClass().getName()); + BasicDialog basicDialog = super.showWindowWithCustomSize(window, l, dimension); basicDialog.setMinimumSize(new Dimension(900, 600)); basicDialog.setResizable(true); return basicDialog; @@ -1196,7 +1198,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula { private void initDescriptionTextArea() { // Description - descriptionTextArea = new UITextArea(DESCRIPTION_TEXT_AREA_ROW,DESCRIPTION_TEXT_AREA_COLUMN); + descriptionTextArea = new UITextArea(DESCRIPTION_TEXT_AREA_ROW, DESCRIPTION_TEXT_AREA_COLUMN); descriptionTextArea.setBackground(Color.white); descriptionTextArea.setLineWrap(true); descriptionTextArea.setWrapStyleWord(true); @@ -1282,7 +1284,7 @@ public class FormulaPane extends BasicPane implements KeyListener, UIFormula { desScrollPane.setBorder(null); panel.add(this.createNamePane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_FormulaPane_Formula_Description") + ":", desScrollPane), BorderLayout.CENTER); initVariablesTreeSelectionListener(); - this.add(panel,BorderLayout.CENTER); + this.add(panel, BorderLayout.CENTER); } private void initComponents() { diff --git a/designer-base/src/main/resources/com/fr/design/i18n/dimension_en.properties b/designer-base/src/main/resources/com/fr/design/i18n/dimension_en.properties index 5098bc3c9..bf7aba4f4 100644 --- a/designer-base/src/main/resources/com/fr/design/i18n/dimension_en.properties +++ b/designer-base/src/main/resources/com/fr/design/i18n/dimension_en.properties @@ -25,3 +25,5 @@ com.fr.design.plugin.remind.PluginInvalidateRemindDialog.centerPane=580*369 com.fr.design.report.WatermarkSettingPane=720*600 com.fr.design.file.MultiTemplateTabPane.popUpMenu=350*65 com.fr.design.data.datapane.preview.desensitization.view.rule.DesensitizationRuleChoosePane.ruleEditPane=800*600 +com.fr.design.formula.FormulaPane=900*600 +com.fr.design.formula.FormulaPaneWhenReserveFormula=1200*600 diff --git a/designer-base/src/main/resources/com/fr/design/i18n/dimension_ja_JP.properties b/designer-base/src/main/resources/com/fr/design/i18n/dimension_ja_JP.properties index 6c3ac0e58..d07001506 100644 --- a/designer-base/src/main/resources/com/fr/design/i18n/dimension_ja_JP.properties +++ b/designer-base/src/main/resources/com/fr/design/i18n/dimension_ja_JP.properties @@ -24,3 +24,5 @@ com.fr.design.plugin.remind.PluginInvalidateRemindDialog.centerPane=580*369 com.fr.design.report.WatermarkSettingPane=720*600 com.fr.design.file.MultiTemplateTabPane.popUpMenu=240*65 com.fr.design.data.datapane.preview.desensitization.view.rule.DesensitizationRuleChoosePane.ruleEditPane=800*600 +com.fr.design.formula.FormulaPane=900*600 +com.fr.design.formula.FormulaPaneWhenReserveFormula=900*600 diff --git a/designer-base/src/main/resources/com/fr/design/i18n/dimension_ko_KR.properties b/designer-base/src/main/resources/com/fr/design/i18n/dimension_ko_KR.properties index eaa75e14a..3fd1ffcad 100644 --- a/designer-base/src/main/resources/com/fr/design/i18n/dimension_ko_KR.properties +++ b/designer-base/src/main/resources/com/fr/design/i18n/dimension_ko_KR.properties @@ -24,3 +24,5 @@ com.fr.design.plugin.remind.PluginInvalidateRemindDialog.centerPane=580*369 com.fr.design.report.WatermarkSettingPane=720*600 com.fr.design.file.MultiTemplateTabPane.popUpMenu=240*65 com.fr.design.data.datapane.preview.desensitization.view.rule.DesensitizationRuleChoosePane.ruleEditPane=800*600 +com.fr.design.formula.FormulaPane=900*600 +com.fr.design.formula.FormulaPaneWhenReserveFormula=900*600 diff --git a/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh.properties b/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh.properties index d1e84b461..2a10d13c7 100644 --- a/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh.properties +++ b/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh.properties @@ -24,3 +24,5 @@ com.fr.design.plugin.remind.PluginInvalidateRemindDialog.dialog=600*500 com.fr.design.plugin.remind.PluginInvalidateRemindDialog.centerPane=580*369 com.fr.design.report.WatermarkSettingPane=720*600 com.fr.design.file.MultiTemplateTabPane.popUpMenu=170*65 +com.fr.design.formula.FormulaPane=900*600 +com.fr.design.formula.FormulaPaneWhenReserveFormula=900*600 diff --git a/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh_TW.properties b/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh_TW.properties index 82f86a3a4..faa620cfc 100644 --- a/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh_TW.properties +++ b/designer-base/src/main/resources/com/fr/design/i18n/dimension_zh_TW.properties @@ -23,3 +23,5 @@ com.fr.design.plugin.remind.PluginInvalidateRemindDialog.dialog=600*500 com.fr.design.plugin.remind.PluginInvalidateRemindDialog.centerPane=580*369 com.fr.design.report.WatermarkSettingPane=720*600 com.fr.design.file.MultiTemplateTabPane.popUpMenu=170*65 +com.fr.design.formula.FormulaPane=900*600 +com.fr.design.formula.FormulaPaneWhenReserveFormula=900*600 From 5036dc94fe1b652cefec316d3eba484076d7934c Mon Sep 17 00:00:00 2001 From: obo Date: Tue, 5 Dec 2023 11:34:19 +0800 Subject: [PATCH 4/4] =?UTF-8?q?REPORT-109335=20=E5=9B=9E=E9=80=80=E5=8E=9F?= =?UTF-8?q?=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FormulaPaneWhenReserveFormula.java | 32 ------------------- 1 file changed, 32 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java b/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java index 82efb8cd4..ab49b605d 100644 --- a/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java +++ b/designer-base/src/main/java/com/fr/design/formula/FormulaPaneWhenReserveFormula.java @@ -7,11 +7,6 @@ import javax.swing.JPanel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Font; -import java.awt.FontMetrics; /** * @author richie @@ -47,7 +42,6 @@ public class FormulaPaneWhenReserveFormula extends FormulaPane { checkBoxPane.add(reserveCheckBox4Result, BorderLayout.WEST); checkBoxPane.add(reserveCheckBox4Write, BorderLayout.WEST); - calculatePaneHeightWithCount(checkBoxPane); } @Override @@ -66,30 +60,4 @@ public class FormulaPaneWhenReserveFormula extends FormulaPane { } return formula; } - - - /** - * 计算一下公式面板textPane的实际高度 - * 目前已知英文国际化下文本较长,右侧check按钮无法正常展示,实际俄文有可能更长,因此写一个换行规则 - * 不影响中文效果 - * - * @param checkBoxPane textPane - */ - private void calculatePaneHeightWithCount(JPanel checkBoxPane) { - int componentsWidth = 0; - int currentPaneHeight = checkBoxPane.getPreferredSize().height; - int currentPaneWidth = checkBoxPane.getPreferredSize().width; - int hGap = ((FlowLayout) checkBoxPane.getLayout()).getHgap(); - for (Component component : checkBoxPane.getComponents()) { - if(component instanceof UICheckBox) { - Font font = component.getFont(); - FontMetrics fontMetrics = component.getFontMetrics(font); - int width = fontMetrics.stringWidth(((UICheckBox) component).getText()); - componentsWidth += width + hGap; - } - } - int count = (componentsWidth / currentPaneWidth) + 1; - int resultPaneHeight = count * currentPaneHeight; - checkBoxPane.setPreferredSize(new Dimension(currentPaneWidth, resultPaneHeight)); - } } \ No newline at end of file