From 8faf7bbdf39ae62a1971f57e66640acc6ebdd073 Mon Sep 17 00:00:00 2001 From: obo Date: Thu, 25 Jul 2024 18:50:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E3=80=81=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2=E3=80=81=E5=86=85?= =?UTF-8?q?=E7=BD=AE=E6=95=B0=E6=8D=AE=E9=9B=86=E3=80=81=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E3=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tabledatapane/ClassTableDataPane.java | 2 ++ .../tabledatapane/DBTableDataPane.java | 19 ++++++++++++++----- .../EmbeddedTableDataDefinedPane.java | 2 ++ .../tabledatapane/EmbeddedTableDataPane.java | 2 ++ .../tabledatapane/MultiTDTableDataPane.java | 12 +++++++----- .../tabledatapane/ProcedureDataPane.java | 10 +++++++++- .../itableeditorpane/UITableEditorPane.java | 4 ++-- 7 files changed, 38 insertions(+), 13 deletions(-) diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java index e2f7efc70b..3a2cdc52fc 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/ClassTableDataPane.java @@ -1,6 +1,7 @@ package com.fr.design.data.tabledata.tabledatapane; import com.fr.base.Parameter; +import com.fr.base.i18n.BidiUtils; import com.fr.data.impl.ClassTableData; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; @@ -78,6 +79,7 @@ public class ClassTableDataPane extends AbstractTableDataPane { JPanel northPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); this.add(northPane, BorderLayout.NORTH); this.add(initSouthPanel(), BorderLayout.SOUTH); + BidiUtils.applyOrientationByLocale(this); } private JPanel initSouthPanel() { JPanel jpanel = new JPanel(); diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java index ae430b26e3..de861230ac 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/DBTableDataPane.java @@ -2,6 +2,7 @@ package com.fr.design.data.tabledata.tabledatapane; import com.fr.base.Parameter; import com.fr.base.ParameterHelper; +import com.fr.base.i18n.BidiUtils; import com.fr.data.core.db.TableProcedure; import com.fr.data.impl.Connection; import com.fr.data.impl.DBTableData; @@ -94,6 +95,8 @@ import java.util.List; public class DBTableDataPane extends AbstractTableDataPane implements SwitchableTableDataPane { private static final int BOTTOM = 6; + private static final int SQL_TEXT_PANE_WIDTH = 680; + private static final int CONNECTION_TABLE_MIN_WIDTH = 230; private static final String PREVIEW_BUTTON = Toolkit.i18nText("Fine-Design_Basic_Preview"); private static final String REFRESH_BUTTON = Toolkit.i18nText("Fine-Design_Basic_Refresh"); private ConnectionTableProcedurePane connectionTableProcedurePane; @@ -123,6 +126,7 @@ public class DBTableDataPane extends AbstractTableDataPane implemen public DBTableDataPane() { initCards(); initContentPane(); + BidiUtils.applyOrientationByLocale(this); } /** @@ -239,10 +243,10 @@ public class DBTableDataPane extends AbstractTableDataPane implemen RTextScrollPane sqlTextScrollPane = new RTextScrollPane(this.sqlTextPane); sqlTextScrollPane.setLineNumbersEnabled(true); sqlTextScrollPane.setBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, UIConstants.ARC)); - sqlTextScrollPane.setPreferredSize(new Dimension(680, 600)); + sqlTextScrollPane.setPreferredSize(new Dimension(SQL_TEXT_PANE_WIDTH, 600)); JPanel paraMeanPane = new JPanel(new BorderLayout()); - paraMeanPane.setPreferredSize(new Dimension(680, 90)); + paraMeanPane.setPreferredSize(new Dimension(SQL_TEXT_PANE_WIDTH, 90)); UILabel paraMean = new UILabel(Toolkit.i18nText("Fine-Design_Basic_Datasource_Param_DES")); paraMeanPane.add(paraMean, BorderLayout.CENTER); @@ -258,10 +262,15 @@ public class DBTableDataPane extends AbstractTableDataPane implemen box.setMinimumSize(new Dimension(300, 400)); - this.connectionTableProcedurePane.setMinimumSize(new Dimension(230, 400)); + this.connectionTableProcedurePane.setMinimumSize(new Dimension(CONNECTION_TABLE_MIN_WIDTH, 400)); this.connectionTableProcedurePane.setMaximumSize(new Dimension(500, 400)); - - JSplitPane mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, this.connectionTableProcedurePane, sqlSplitPane); + JSplitPane mainSplitPane; + if (BidiUtils.rtl()) { + mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, sqlSplitPane, this.connectionTableProcedurePane); + } else { + mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, this.connectionTableProcedurePane, sqlSplitPane); + } + mainSplitPane.setDividerLocation(BidiUtils.rtl() ? SQL_TEXT_PANE_WIDTH - CONNECTION_TABLE_MIN_WIDTH : CONNECTION_TABLE_MIN_WIDTH); mainSplitPane.setBorder(BorderFactory.createLineBorder(GUICoreUtils.getTitleLineBorderColor())); mainSplitPane.setOneTouchExpandable(true); contentPane.add(mainSplitPane, BorderLayout.CENTER); diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataDefinedPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataDefinedPane.java index ba5d42bd88..49d8a2993a 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataDefinedPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataDefinedPane.java @@ -1,5 +1,6 @@ package com.fr.design.data.tabledata.tabledatapane; +import com.fr.base.i18n.BidiUtils; import com.fr.data.impl.EmbeddedTableData; import com.fr.design.dialog.BasicPane; import com.fr.design.gui.ibutton.UIButton; @@ -40,6 +41,7 @@ public class EmbeddedTableDataDefinedPane extends BasicPane{ public EmbeddedTableDataDefinedPane() { initComponents(); + BidiUtils.applyOrientationByLocale(this); } protected void initComponents() { diff --git a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java index 731816243e..da3b22cd69 100644 --- a/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java +++ b/designer-base/src/main/java/com/fr/design/data/tabledata/tabledatapane/EmbeddedTableDataPane.java @@ -1,5 +1,6 @@ package com.fr.design.data.tabledata.tabledatapane; +import com.fr.base.i18n.BidiUtils; import com.fr.data.impl.EmbeddedTableData; import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.DialogActionAdapter; @@ -48,6 +49,7 @@ public class EmbeddedTableDataPane extends AbstractTableDataPane imp connectionTableProcedurePane.setMinimumSize(new Dimension(155, 500)); box.setMinimumSize(new Dimension(310, 400)); // 使用SplitPane - JSplitPane mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, connectionTableProcedurePane, sqlSplitPane); + JSplitPane mainSplitPane; + if (BidiUtils.rtl()) { + mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, sqlSplitPane, connectionTableProcedurePane); + } else { + mainSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, connectionTableProcedurePane, sqlSplitPane); + } mainSplitPane.setBorder(BorderFactory.createLineBorder(GUICoreUtils.getTitleLineBorderColor())); mainSplitPane.setOneTouchExpandable(true); this.add(mainSplitPane, BorderLayout.CENTER); + mainSplitPane.setDividerLocation(BidiUtils.rtl() ? storeProcedureContextPane.getPreferredSize().width - connectionTableProcedurePane.getPreferredSize().width : connectionTableProcedurePane.getPreferredSize().width); + BidiUtils.applyOrientationByLocale(this); } private void initconnectionTableProcedurePane() { diff --git a/designer-base/src/main/java/com/fr/design/gui/itableeditorpane/UITableEditorPane.java b/designer-base/src/main/java/com/fr/design/gui/itableeditorpane/UITableEditorPane.java index 938d4bf4c1..f54515304b 100644 --- a/designer-base/src/main/java/com/fr/design/gui/itableeditorpane/UITableEditorPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/itableeditorpane/UITableEditorPane.java @@ -59,8 +59,8 @@ public class UITableEditorPane extends BasicPane { pane.add(scrollPane, BorderLayout.CENTER); initbuttonPane(action); JPanel controlPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - controlPane.add(buttonPane, BorderLayout.EAST); - controlPane.add(l, BorderLayout.WEST); + controlPane.add(buttonPane, BidiUtils.rtl() ? BorderLayout.WEST : BorderLayout.EAST); + controlPane.add(l, BidiUtils.rtl() ? BorderLayout.EAST : BorderLayout.WEST); pane.add(controlPane, BorderLayout.NORTH); }