From c7884675016cb250c61a84b28130b42e92654b6f Mon Sep 17 00:00:00 2001 From: obo Date: Fri, 2 Aug 2024 16:31:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=9D=BF-=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractNativePrintSettingPane.java | 24 +++++++++---------- .../NoClientPrintSettingPane.java | 11 ++++----- .../printsettings/PrintSettingPane.java | 5 ++-- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/AbstractNativePrintSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/AbstractNativePrintSettingPane.java index 2ff9d41800..b07b78bfb8 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/AbstractNativePrintSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/AbstractNativePrintSettingPane.java @@ -2,6 +2,7 @@ package com.fr.design.webattr.printsettings; import com.fr.base.PaperSize; import com.fr.base.Utils; +import com.fr.base.i18n.BidiUtils; import com.fr.base.print.NativePrintAttr; import com.fr.design.gui.ibutton.UIRadioButton; import com.fr.design.gui.icheckbox.UICheckBox; @@ -25,6 +26,7 @@ import javax.print.DocFlavor; import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.swing.BorderFactory; +import javax.swing.Box; import javax.swing.ButtonGroup; import javax.swing.JList; import javax.swing.JPanel; @@ -89,7 +91,7 @@ public abstract class AbstractNativePrintSettingPane extends JPanel { centerPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Default_Settings")); centerPane.add(getNativePrintMainSettingPane()); - + BidiUtils.setOrientationByLocale(centerPane); printPane.add(centerPane, BorderLayout.CENTER); this.setLayout(new BorderLayout()); @@ -101,17 +103,15 @@ public abstract class AbstractNativePrintSettingPane extends JPanel { // 打印时需要打印设置窗口 showDialogCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Show_Print_Setting_Window_When_Printing")); - showDialogCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20)); UILabel showDialogCheckTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tip_Use_Default_Settings")); JPanel showDialogCheckPane = GUICoreUtils.createFlowPane(new Component[]{ - showDialogCheck, showDialogCheckTip}, FlowLayout.LEFT); + showDialogCheck, Box.createHorizontalStrut(20),showDialogCheckTip}, BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT); // 打印需要指定 sheet needSelectSheetCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Need_Select_Sheet_When_Printing")); - needSelectSheetCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20)); UILabel needSelectSheetCheckTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tip_Invalid_In_Page_View")); JPanel needSelectSheetCheckPane = GUICoreUtils.createFlowPane(new Component[]{ - needSelectSheetCheck, needSelectSheetCheckTip}, FlowLayout.LEFT); + needSelectSheetCheck, Box.createHorizontalStrut(20), needSelectSheetCheckTip}, BidiUtils.rtl() ? FlowLayout.RIGHT :FlowLayout.LEFT); return createHeaderPane(tipDownload, showDialogCheckPane, needSelectSheetCheckPane); } @@ -191,7 +191,7 @@ public abstract class AbstractNativePrintSettingPane extends JPanel { JPanel layoutSettingCheckPane = GUICoreUtils.createCheckboxAndDynamicPane(inheritPageLayoutSettingCheck, layoutSettingPane, true); // 页码标签 - UILabel printAreaLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Page_Number") + ":"); + UILabel printAreaLabel = new UILabel(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Page_Number"), ":")); JPanel printAreaLabelPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); printAreaLabelPane.add(printAreaLabel, BorderLayout.NORTH); printAreaLabel.setBorder(BorderFactory.createEmptyBorder(5, 0, 0, 0)); @@ -213,13 +213,13 @@ public abstract class AbstractNativePrintSettingPane extends JPanel { double[] rowSize = {p, p, p, p, p, p, p}; double[] columnSize = {60, p}; Component[][] components = { - {new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Printer") + ":"), printerPane}, - {new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Copy_Number") + ":"), copyPane}, + {new UILabel(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Printer"), ":")), printerPane}, + {new UILabel(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Copy_Number"), ":")), copyPane}, {printAreaLabelPane, getPrintAreaPane()}, - {getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paper") + ":"), paperSettingCheckPane}, - {getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Layout") + ":"), layoutSettingCheckPane}, - {getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Margin") + ":"), pageMarginCheckPane}, - {getTopAlignLabelPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Scale_EnlargeOrReduce") + ":"), scaleCheckPane}, + {getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Paper"), ":")), paperSettingCheckPane}, + {getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Layout"), ":")), layoutSettingCheckPane}, + {getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Margin"), ":")), pageMarginCheckPane}, + {getTopAlignLabelPane(BidiUtils.reverseConcatenateStrings(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Scale_EnlargeOrReduce"), ":")), scaleCheckPane}, }; return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, 0, 15); } diff --git a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java index a5ed35a697..537930b2ff 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/NoClientPrintSettingPane.java @@ -1,5 +1,6 @@ package com.fr.design.webattr.printsettings; +import com.fr.base.i18n.BidiUtils; import com.fr.base.print.NoClientPrintAttr; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.UILabel; @@ -9,6 +10,7 @@ import com.fr.design.layout.TableLayoutHelper; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.BorderFactory; +import javax.swing.Box; import javax.swing.JPanel; import java.awt.BorderLayout; import java.awt.Component; @@ -47,7 +49,7 @@ public class NoClientPrintSettingPane extends JPanel { private void initCenterPane() { centerPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Default_Settings")); - + BidiUtils.setOrientationByLocale(centerPane); inheritPageMarginSettingCheck = GUICoreUtils.createNoBorderCheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Inherit_Page_Margin_Setting")); pageMarginSettingPane = new PageMarginSettingPane(); pageMarginSettingPane.setBorder(BorderFactory.createEmptyBorder(10, -10, 0, 0)); @@ -67,19 +69,16 @@ public class NoClientPrintSettingPane extends JPanel { private JPanel createHeaderPane() { setMarginWhenPrintCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Engine_Set_Margin_When_Printing")); - setMarginWhenPrintCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20)); UILabel marginTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Tip_Use_Default_Print_Margin")); JPanel setMarginWhenPrintPane = GUICoreUtils.createFlowPane(new Component[] { - setMarginWhenPrintCheck, marginTip}, FlowLayout.LEFT); + setMarginWhenPrintCheck, Box.createHorizontalStrut(20), marginTip}, BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT); ieQuietPrintCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_No_Print_Settings_In_IE")); - ieQuietPrintCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); needlePrinterOptimizeCheck = new UICheckBox(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Needle_Printer_Optimize")); - needlePrinterOptimizeCheck.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 20)); UILabel needleTip = GUICoreUtils.createTipLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Needle_Printer_Optimize_Tip")); JPanel needlePrinterOptimizePane = GUICoreUtils.createFlowPane(new Component[] { - needlePrinterOptimizeCheck, needleTip}, FlowLayout.LEFT); + needlePrinterOptimizeCheck, Box.createHorizontalStrut(20), needleTip}, BidiUtils.rtl() ? FlowLayout.RIGHT : FlowLayout.LEFT); JPanel headerPane = GUICoreUtils.createHeaderLayoutPane(setMarginWhenPrintPane, ieQuietPrintCheck, needlePrinterOptimizePane); headerPane.setBorder(BorderFactory.createEmptyBorder(2, 12, 12, 0)); diff --git a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/PrintSettingPane.java b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/PrintSettingPane.java index 883a0801fd..b494305d9d 100644 --- a/designer-realize/src/main/java/com/fr/design/webattr/printsettings/PrintSettingPane.java +++ b/designer-realize/src/main/java/com/fr/design/webattr/printsettings/PrintSettingPane.java @@ -1,5 +1,6 @@ package com.fr.design.webattr.printsettings; +import com.fr.base.i18n.BidiUtils; import com.fr.base.print.PrintSettingsAttrMark; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.ibutton.UIRadioButton; @@ -42,7 +43,7 @@ public class PrintSettingPane extends BasicPane { this.setLayout(FRGUIPaneFactory.createBorderLayout()); JPanel allPanel = FRGUIPaneFactory.createBorderLayout_L_Pane(); this.add(allPanel, BorderLayout.CENTER); - JPanel north = FRGUIPaneFactory.createVerticalFlowLayout_S_Pane(true); + JPanel north = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(5, 5); allPanel.add(north, BorderLayout.NORTH); ButtonGroup buttonGroup = new ButtonGroup(); noClientPrintRadioButton.setSelected(true); @@ -52,7 +53,7 @@ public class PrintSettingPane extends BasicPane { JPanel radioGroupPane = GUICoreUtils.createFlowPane(new Component[] { noClientPrintRadioButton, nativePrintRadioButton}, FlowLayout.LEFT, 0, 0); north.add(radioGroupPane); - + BidiUtils.applyOrientationByLocale(noClientPrintRadioButton, nativePrintRadioButton); noClientPrintSettingPane = new NoClientPrintSettingPane(); printCard = new CardLayout(); printPane = new JPanel();