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); }