diff --git a/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java b/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java index 6be46f1c54..b6826a8612 100644 --- a/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java +++ b/designer/src/com/fr/design/mainframe/cell/settingpane/CellOtherSetPane.java @@ -11,6 +11,7 @@ import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icombobox.UIComboBox; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.JTemplate; @@ -39,6 +40,8 @@ public class CellOtherSetPane extends AbstractCellAttrPane { private static final int HEAD_WDITH = 290; private static final int HEAD_HEIGTH = 24; + private static final Dimension NORMAL_DIMENSION = new Dimension(155, 20); + private static final Dimension SMALL_DIMENSION = new Dimension(150, 20); // normal private UIButtonGroup autoshrik; @@ -138,7 +141,7 @@ public class CellOtherSetPane extends AbstractCellAttrPane { new Component[]{new UILabel(Inter.getLocText("FR-Designer_CellWrite_InsertRow_Policy"), SwingConstants.LEFT), insertRowPolicy}, new Component[]{null, insertRowPane}, }; - southContentPane = TableLayoutHelper.createGapTableLayoutPane(components1, rowSize1, columnSize1, rowCount1, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); + southContentPane = TableLayoutHelper.createGapTableLayoutPane(components1, rowSize1, columnSize1, rowCount1, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_MEDIUM); JPanel seniorPane = new JPanel(new BorderLayout()); seniorPane.add(seniorUpPane(), BorderLayout.NORTH); seniorPane.add(southContentPane, BorderLayout.CENTER); @@ -167,15 +170,25 @@ public class CellOtherSetPane extends AbstractCellAttrPane { double[] downRowSize = {p, p, p, p, p, p}; double[] downColumnSize = {p, f}; int[][] downRowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}; + + JPanel showContentPane = new JPanel(FRGUIPaneFactory.createRightZeroLayout()); + showContent.setPreferredSize(SMALL_DIMENSION); + showContentPane.add(showContent); + fileNamePane.setBorder(BorderFactory.createEmptyBorder(0,12,0,0)); + + JPanel tooltipTextFieldPane = new JPanel(FRGUIPaneFactory.createRightZeroLayout()); + tooltipTextField.setPreferredSize(NORMAL_DIMENSION); + tooltipTextFieldPane.add(tooltipTextField); + Component[][] downComponent = new Component[][]{ new Component[]{null, null}, - new Component[]{new UILabel(Inter.getLocText("FR-Designer_Show_Content"), SwingConstants.LEFT), showContent}, - new Component[]{null, fileNamePane}, - new Component[]{new UILabel(Inter.getLocText("FR-Designer_CellWrite_ToolTip"), SwingConstants.RIGHT), tooltipTextField}, + new Component[]{new UILabel(Inter.getLocText("FR-Designer_Show_Content"), SwingConstants.LEFT), showContentPane}, + new Component[]{fileNamePane, null}, + new Component[]{new UILabel(Inter.getLocText("FR-Designer_CellWrite_ToolTip"), SwingConstants.LEFT), tooltipTextFieldPane}, new Component[]{null, null}, new Component[]{null, null}, }; - JPanel downPane = TableLayoutHelper.createGapTableLayoutPane(downComponent, downRowSize, downColumnSize, downRowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); + JPanel downPane = TableLayoutHelper.createGapTableLayoutPane(downComponent, downRowSize, downColumnSize, downRowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_MEDIUM); JPanel pane = new JPanel(new BorderLayout()); pane.add(upPane, BorderLayout.NORTH); pane.add(downPane, BorderLayout.CENTER); diff --git a/designer/src/com/fr/design/present/BarCodePane.java b/designer/src/com/fr/design/present/BarCodePane.java index 1966449381..ac38203387 100644 --- a/designer/src/com/fr/design/present/BarCodePane.java +++ b/designer/src/com/fr/design/present/BarCodePane.java @@ -60,17 +60,6 @@ public class BarCodePane extends FurtherBasicBeanPane { addlistener(); } - public static void main(String[] args) { - JFrame jf = new JFrame("test"); - jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - JPanel content = (JPanel) jf.getContentPane(); - content.setLayout(new BorderLayout()); - content.add(new BarCodePane(), BorderLayout.CENTER); - GUICoreUtils.centerWindow(jf); - jf.setSize(270, 400); - jf.setVisible(true); - } - private void initComponents() { barCodePreviewPane = new BarCodePreviewPane(); this.barWidthSpinner = new UIBasicSpinner(new SpinnerNumberModel(10.0, 1, 100, 1.0)); @@ -86,7 +75,7 @@ public class BarCodePane extends FurtherBasicBeanPane { RCodesizespinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 6, 1)); RCodeVersionComboBox = new UIComboBox(); RCodeErrorCorrectComboBox = new UIComboBox(); - typeSetLabel = new UILabel(Inter.getLocText("Type_Set"), UILabel.LEFT); + typeSetLabel = new UILabel(Inter.getLocText("FR-Designer_Type_Set"), UILabel.LEFT); initVersionComboBox(); initErrorCorrectComboBox(); @@ -106,7 +95,7 @@ public class BarCodePane extends FurtherBasicBeanPane { new Component[]{borderPane, null}, new Component[]{centerPane, null} }; - JPanel barCode = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_LARGE); + JPanel barCode = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE); centerPane.add(getNormalPane(), "normal"); centerPane.add(getSpecialPane(), "special"); typeComboBox.addItemListener(new ItemListener() { @@ -150,9 +139,9 @@ public class BarCodePane extends FurtherBasicBeanPane { double[] rowSize = {p, p, p, p, p, p, p, p}; double[] columnSize = {p, f, f}; int[][] rowCount = {{1, 1, 1}, {1, 1, 1}, {1, 1, 1}}; - JPanel barWidthContainer = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 0)); + JPanel barWidthContainer = new JPanel(new BorderLayout()); barWidthContainer.add(barWidthSpinner); - JPanel barHeightContainer = new JPanel(new FlowLayout(FlowLayout.LEFT, 2, 0)); + JPanel barHeightContainer = new JPanel(new BorderLayout()); barHeightContainer.add(barHeightSpinner); UILabel uiLabel = new UILabel(Inter.getLocText("FR-Designer-Tree_Width"), UILabel.RIGHT); uiLabel.setPreferredSize(typeSetLabel.getPreferredSize()); @@ -172,9 +161,9 @@ public class BarCodePane extends FurtherBasicBeanPane { private JPanel getSpecialPane() { double p = TableLayout.PREFERRED; double f = TableLayout.FILL; - double[] columnSize = {p, p}; - double[] rowSize = {p, p, p, p, p, p, p, p}; - int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}; + double[] columnSize = {p, f}; + double[] rowSize = {p, p, p}; + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; UILabel uiLabel = new UILabel(Inter.getLocText("RCodeVersion"), UILabel.LEFT); uiLabel.setPreferredSize(typeSetLabel.getPreferredSize()); RCodeVersionComboBox.setPreferredSize(new Dimension(155,20)); @@ -186,7 +175,7 @@ public class BarCodePane extends FurtherBasicBeanPane { new Component[]{new UILabel(Inter.getLocText("RCodeDrawPix"), UILabel.LEFT), RCodesizespinner} }; - JPanel specialPane = TableLayoutHelper.createGapTableLayoutPane(components_special, rowSize, columnSize, rowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_LARGE); + JPanel specialPane = TableLayoutHelper.createGapTableLayoutPane(components_special, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE); return specialPane; } diff --git a/designer/src/com/fr/design/present/CurrencyLinePane.java b/designer/src/com/fr/design/present/CurrencyLinePane.java index 7922f21867..ab4af16450 100644 --- a/designer/src/com/fr/design/present/CurrencyLinePane.java +++ b/designer/src/com/fr/design/present/CurrencyLinePane.java @@ -2,6 +2,7 @@ package com.fr.design.present; import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.border.UIRoundedBorder; +import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.UIConstants; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ispinner.UIBasicSpinner; @@ -31,6 +32,7 @@ import java.awt.*; public class CurrencyLinePane extends FurtherBasicBeanPane { private static final int VS_NUM = 4; private static final int VG_NUM = 6; + private static final Dimension NORMAL_DIMENSION = new Dimension(155, 20); private UIBasicSpinner intPartSpinner; private UIBasicSpinner deciPartSpinner; private UITextField textField; @@ -72,11 +74,11 @@ public class CurrencyLinePane extends FurtherBasicBeanPane protected void initComponents() { // 整数位选择 intPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(9, 1, 20, 1)); - intPartSpinner.setPreferredSize(new Dimension(158, 20)); + intPartSpinner.setPreferredSize(NORMAL_DIMENSION); // 小数位选择 deciPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 10, 1)); - deciPartSpinner.setPreferredSize(new Dimension(158, 20)); + deciPartSpinner.setPreferredSize(NORMAL_DIMENSION); // 预览区域 textField = new UITextField(10); @@ -95,7 +97,7 @@ public class CurrencyLinePane extends FurtherBasicBeanPane double f = TableLayout.FILL; double[] columnSize = {p, f}; double[] rowSize = {p, p, p, p}; - + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}}; Component[][] components = new Component[][]{ new Component[]{new UILabel(Inter.getLocText("Data"), UILabel.LEFT), textField}, @@ -105,7 +107,7 @@ public class CurrencyLinePane extends FurtherBasicBeanPane }; - JPanel linePane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + JPanel linePane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE); this.setLayout(new BorderLayout()); this.add(linePane, BorderLayout.CENTER); @@ -186,7 +188,7 @@ public class CurrencyLinePane extends FurtherBasicBeanPane protected static JPanel groupPane(JComponent comp) { JPanel jp = new JPanel(); jp.setBorder(null); - jp.setLayout(new FlowLayout(FlowLayout.LEFT)); + jp.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); jp.add(comp); return jp; } diff --git a/designer_base/src/com/fr/design/constants/LayoutConstants.java b/designer_base/src/com/fr/design/constants/LayoutConstants.java index 2ff1ac72b3..149923c1a8 100644 --- a/designer_base/src/com/fr/design/constants/LayoutConstants.java +++ b/designer_base/src/com/fr/design/constants/LayoutConstants.java @@ -1 +1,45 @@ -package com.fr.design.constants; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 7.0.3 * Date: 12-12-27 * Time: 下午2:28 * 所有的间隙常数都从这里取,注意写上PMD检测规则来检查 */ public class LayoutConstants { private LayoutConstants() { } /** * 水平间隙 */ public static final int HGAP_SMALL = 1; /** * 水平间隙 */ public static final int HGAP_LARGE = 4; /** * 垂直间隙 */ public static final int VGAP_SMALL = 4; /** * 垂直间隙 */ public static final int VGAP_MEDIUM = 6; /** * 垂直间隙 */ public static final int VGAP_LARGE = 10; /** * 图表属性表中二级菜单距离右边框的距离 */ public static final int CHART_ATTR_TOMARGIN = 46; } \ No newline at end of file +package com.fr.design.constants; + +/** + * Created by IntelliJ IDEA. + * Author : Richer + * Version: 7.0.3 + * Date: 12-12-27 + * Time: 下午2:28 + * 所有的间隙常数都从这里取,注意写上PMD检测规则来检查 + */ +public class LayoutConstants { + private LayoutConstants() { + + } + + /** + * 水平间隙 + */ + public static final int HGAP_SMALL = 1; + /** + * 水平间隙 + */ + public static final int HGAP_LARGE = 4; + /** + * 垂直间隙 + */ + public static final int VGAP_SMALL = 4; + /** + * 垂直间隙 + */ + public static final int VGAP_MEDIUM = 6; + /** + * 垂直间隙 + */ + public static final int VGAP_LARGE = 10; + /** + * 垂直间隙 + */ + public static final int VGAP_HUGER = 20; + + /** + * 图表属性表中二级菜单距离右边框的距离 + */ + public static final int CHART_ATTR_TOMARGIN = 46; +} \ No newline at end of file diff --git a/designer_base/src/com/fr/design/data/datapane/VerticalChoosePane.java b/designer_base/src/com/fr/design/data/datapane/VerticalChoosePane.java index bac6b26724..9f90737b6b 100644 --- a/designer_base/src/com/fr/design/data/datapane/VerticalChoosePane.java +++ b/designer_base/src/com/fr/design/data/datapane/VerticalChoosePane.java @@ -31,6 +31,7 @@ public class VerticalChoosePane extends ChoosePane implements DesignerBean { double f = TableLayout.FILL; double[] columnSize = {p, f}; double[] rowSize = {p, p, p}; + int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; JPanel rs = new JPanel(new BorderLayout(0, 0)); rs.add(tableNameComboBox, BorderLayout.CENTER); @@ -53,7 +54,7 @@ public class VerticalChoosePane extends ChoosePane implements DesignerBean { new Component[]{l3, rs} }; - JPanel content = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + JPanel content = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE); this.setLayout(new BorderLayout()); this.add(content, BorderLayout.CENTER); } diff --git a/designer_base/src/com/fr/design/gui/style/FRFontPane.java b/designer_base/src/com/fr/design/gui/style/FRFontPane.java index f428878cda..6e80c2d7f5 100644 --- a/designer_base/src/com/fr/design/gui/style/FRFontPane.java +++ b/designer_base/src/com/fr/design/gui/style/FRFontPane.java @@ -238,7 +238,11 @@ public class FRFontPane extends AbstractBasicStylePane implements GlobalNameObse superPane.setPreferredSize(BUTTON_SIZE); subPane = new UIToggleButton(BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/sub.png")); subPane.setPreferredSize(BUTTON_SIZE); - isSuperOrSubPane = new TwoButtonPane(superPane, subPane); + Component[] SuperOrSubComponents = new Component[]{ + superPane, subPane + }; + isSuperOrSubPane = new JPanel(new BorderLayout()); + isSuperOrSubPane.add(GUICoreUtils.createFlowPane(SuperOrSubComponents, FlowLayout.LEFT, LayoutConstants.HGAP_SMALL)); Component[] components_font = new Component[]{ colorSelectPane, underline, isStrikethroughCheckBox, isShadowCheckBox }; @@ -248,7 +252,6 @@ public class FRFontPane extends AbstractBasicStylePane implements GlobalNameObse initAllNames(); setToolTips(); this.setLayout(new BorderLayout()); -// this.add(fontNameComboBox, BorderLayout.NORTH); this.add(createPane(), BorderLayout.CENTER); DefaultValues defaultValues = FRContext.getDefaultValues(); populateBean(defaultValues.getFRFont()); diff --git a/designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java b/designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java index e71334430d..a613f23d8b 100644 --- a/designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java +++ b/designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java @@ -37,6 +37,15 @@ public class FRGUIPaneFactory { return new FlowLayout(FlowLayout.LEFT, 0, 0); } + /** + * 创建一个靠右的布局 + * + * @return FlowLayout对象 + */ + public static LayoutManager createRightZeroLayout() { + return new FlowLayout(FlowLayout.RIGHT, 0, 0); + } + /** * 创建一个靠左的水平和垂直间隙均为5的流式布局 * diff --git a/designer_base/src/com/fr/design/present/dict/DatabaseDictPane.java b/designer_base/src/com/fr/design/present/dict/DatabaseDictPane.java index 4b25c3436f..5cd4e41ea0 100644 --- a/designer_base/src/com/fr/design/present/dict/DatabaseDictPane.java +++ b/designer_base/src/com/fr/design/present/dict/DatabaseDictPane.java @@ -37,6 +37,7 @@ public class DatabaseDictPane extends FurtherBasicBeanPane i /** * richer:数据字典和数据链面板 */ + private static final int GAP_HUGER = 32; protected com.fr.data.impl.Connection database; protected DoubleDeckValueEditorPane keyColumnPane; protected DoubleDeckValueEditorPane valueDictPane; @@ -76,10 +77,10 @@ public class DatabaseDictPane extends FurtherBasicBeanPane i Component[][] components = new Component[][]{ new Component[]{null, null}, - new Component[]{new UILabel(Inter.getLocText("FR-Designer_Actual_Value") + " ", UILabel.LEFT), keyColumnPane}, - new Component[]{new UILabel(Inter.getLocText("FR-Designer_Display_Value") + " ", UILabel.LEFT), valueDictPane} + new Component[]{new UILabel(Inter.getLocText("FR-Designer_Actual_Value"), UILabel.LEFT), keyColumnPane}, + new Component[]{new UILabel(Inter.getLocText("FR-Designer_Display_Value"), UILabel.LEFT), valueDictPane} }; - JPanel dbDictPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); + JPanel dbDictPanel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, GAP_HUGER, LayoutConstants.VGAP_LARGE); this.setLayout(new BorderLayout(0, 4)); this.add(chooseTable, BorderLayout.NORTH); this.add(dbDictPanel, BorderLayout.CENTER); diff --git a/designer_base/src/com/fr/design/present/dict/DictionaryPane.java b/designer_base/src/com/fr/design/present/dict/DictionaryPane.java index 91d0d8ea52..6f0b637cfd 100644 --- a/designer_base/src/com/fr/design/present/dict/DictionaryPane.java +++ b/designer_base/src/com/fr/design/present/dict/DictionaryPane.java @@ -3,9 +3,11 @@ package com.fr.design.present.dict; import com.fr.data.Dictionary; import com.fr.data.impl.DynamicSQLDict; import com.fr.design.beans.FurtherBasicBeanPane; +import com.fr.design.constants.LayoutConstants; import com.fr.design.data.DataCreatorUI; import com.fr.design.gui.frpane.UIComboBoxPane; import com.fr.design.gui.ilable.UILabel; +import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.general.Inter; @@ -25,18 +27,17 @@ public class DictionaryPane extends UIComboBoxPane implements DataCr @Override protected void initLayout() { this.setLayout(new BorderLayout(0, 4)); -// JPanel northPane = new JPanel(new BorderLayout(4, 0)); -// northPane.add(new UILabel(Inter.getLocText("Type_Set"), UILabel.LEFT),BorderLayout.WEST); -// northPane.add(jcb,BorderLayout.CENTER); double p = TableLayout.PREFERRED; double f = TableLayout.FILL; double[] columnSize = {p, f}; - double[] rowSize = {p}; + double[] rowSize = {p, p}; + int[][] rowCount = {{1, 1}, {1, 1}}; Component[][] components = new Component[][]{ new Component[]{new UILabel(Inter.getLocText("FR-Designer_Type_Set"), UILabel.LEFT), jcb}, + new Component[]{null, null} }; - JPanel northPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); + JPanel northPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_MEDIUM); this.add(northPane, BorderLayout.NORTH); this.add(cardPane, BorderLayout.CENTER); } diff --git a/designer_base/src/com/fr/design/style/AbstractSelectBox.java b/designer_base/src/com/fr/design/style/AbstractSelectBox.java index f354c164f8..f837c08f97 100644 --- a/designer_base/src/com/fr/design/style/AbstractSelectBox.java +++ b/designer_base/src/com/fr/design/style/AbstractSelectBox.java @@ -57,6 +57,7 @@ public abstract class AbstractSelectBox extends AbstractPopBox implements Mou } public void ancestorRemoved(AncestorEvent evt) { + hidePopupMenu(); } public void ancestorMoved(AncestorEvent event) {