Browse Source

Merge pull request #1043 in BA/design from ~MOMEAK/design9.0:9.0 to 9.0

* commit 'db9ca2ee21f62fadab9aed9c861e848a9d8847b0':
  REPORT-2897 9.0设计器修改 修改命名
  REPORT-2897 9.0设计器修改 视觉优化
  rm button group border
  hzzzz
  REPORT-2897 9.0设计器修改 视觉优化
  hzzzzzzzzzz
  REPORT-2897 9.0设计器修改 视觉优化
master
superman 7 years ago
parent
commit
a257352c90
  1. 2
      designer/src/com/fr/design/present/BarCodePane.java
  2. 4
      designer/src/com/fr/design/present/CurrencyLinePane.java
  3. 14
      designer/src/com/fr/design/widget/ui/ButtonGroupDictPane.java
  4. 88
      designer/src/com/fr/design/widget/ui/CheckBoxDefinePane.java
  5. 2
      designer/src/com/fr/design/widget/ui/DirectWriteEditorDefinePane.java
  6. 4
      designer/src/com/fr/design/widget/ui/ListEditorDefinePane.java
  7. 148
      designer/src/com/fr/design/widget/ui/MultiFileEditorPane.java
  8. 61
      designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java
  9. 4
      designer/src/com/fr/design/widget/ui/RadioGroupDefinePane.java
  10. 10
      designer/src/com/fr/design/widget/ui/TreeEditorDefinePane.java
  11. 2
      designer/src/com/fr/design/widget/ui/WaterMarkDictPane.java
  12. 2
      designer/src/com/fr/design/widget/ui/WritableRepeatEditorPane.java
  13. 5
      designer/src/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java
  14. 2
      designer_base/src/com/fr/design/constants/UIConstants.java
  15. 1
      designer_base/src/com/fr/design/gui/frpane/TreeSettingPane.java
  16. 3
      designer_base/src/com/fr/design/gui/ibutton/UIButtonGroup.java
  17. 44
      designer_base/src/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java
  18. 926
      designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java
  19. 1
      designer_base/src/com/fr/design/locale/designer.properties
  20. 1
      designer_base/src/com/fr/design/locale/designer_en_US.properties
  21. 1
      designer_base/src/com/fr/design/locale/designer_ja_JP.properties
  22. 1
      designer_base/src/com/fr/design/locale/designer_ko_KR.properties
  23. 1
      designer_base/src/com/fr/design/locale/designer_zh_CN.properties
  24. 1
      designer_base/src/com/fr/design/locale/designer_zh_TW.properties

2
designer/src/com/fr/design/present/BarCodePane.java

@ -85,7 +85,7 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
RCodesizespinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 6, 1)); RCodesizespinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 6, 1));
RCodeVersionComboBox = new UIComboBox(); RCodeVersionComboBox = new UIComboBox();
RCodeErrorCorrectComboBox = new UIComboBox(); RCodeErrorCorrectComboBox = new UIComboBox();
typeSetLabel = new UILabel(Inter.getLocText("Type_Set") + ":", UILabel.RIGHT); typeSetLabel = new UILabel(Inter.getLocText("Type_Set"), UILabel.RIGHT);
initVersionComboBox(); initVersionComboBox();
initErrorCorrectComboBox(); initErrorCorrectComboBox();

4
designer/src/com/fr/design/present/CurrencyLinePane.java

@ -72,11 +72,11 @@ public class CurrencyLinePane extends FurtherBasicBeanPane<CurrencyLinePresent>
protected void initComponents() { protected void initComponents() {
// 整数位选择 // 整数位选择
intPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(9, 1, 20, 1)); intPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(9, 1, 20, 1));
intPartSpinner.setPreferredSize(new Dimension(135, 20)); intPartSpinner.setPreferredSize(new Dimension(158, 20));
// 小数位选择 // 小数位选择
deciPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 10, 1)); deciPartSpinner = new UIBasicSpinner(new SpinnerNumberModel(2, 1, 10, 1));
deciPartSpinner.setPreferredSize(new Dimension(135, 20)); deciPartSpinner.setPreferredSize(new Dimension(158, 20));
// 预览区域 // 预览区域
textField = new UITextField(10); textField = new UITextField(10);

14
designer/src/com/fr/design/widget/ui/ButtonGroupDictPane.java

@ -1,6 +1,7 @@
package com.fr.design.widget.ui; package com.fr.design.widget.ui;
import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import com.fr.design.gui.ispinner.UIBasicSpinner; import com.fr.design.gui.ispinner.UIBasicSpinner;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
@ -28,7 +29,8 @@ public class ButtonGroupDictPane extends JPanel {
* *
*/ */
public void initComponents() { public void initComponents() {
this.setLayout(FRGUIPaneFactory.createLabelFlowLayout()); this.setLayout(new FlowLayout(0));
JPanel pane = new JPanel(new FlowLayout());
adaptiveCheckbox = new UICheckBox(Inter.getLocText("Adaptive"), true); adaptiveCheckbox = new UICheckBox(Inter.getLocText("Adaptive"), true);
adaptiveCheckbox.addActionListener(new ActionListener() { adaptiveCheckbox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
@ -36,12 +38,14 @@ public class ButtonGroupDictPane extends JPanel {
columnLabel.setVisible(!adaptiveCheckbox.isSelected()); columnLabel.setVisible(!adaptiveCheckbox.isSelected());
} }
}); });
this.add(adaptiveCheckbox);
this.columnLabel = new UILabel(Inter.getLocText("Button-Group-Display-Columns") + ":"); this.columnLabel = new UILabel(Inter.getLocText("Button-Group-Display-Columns"));
this.add(columnLabel);
columnSpinner = new UIBasicSpinner(new SpinnerNumberModel(0, 0, Integer.MAX_VALUE, 1)); columnSpinner = new UIBasicSpinner(new SpinnerNumberModel(0, 0, Integer.MAX_VALUE, 1));
this.add(columnSpinner); pane.add(adaptiveCheckbox);
pane.add(columnLabel);
pane.add(columnSpinner);
this.add(pane);
} }
public void populate(ButtonGroup buttonGroup) { public void populate(ButtonGroup buttonGroup) {

88
designer/src/com/fr/design/widget/ui/CheckBoxDefinePane.java

@ -1,48 +1,62 @@
package com.fr.design.widget.ui; package com.fr.design.widget.ui;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import javax.swing.*;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.form.ui.CheckBox; import com.fr.form.ui.CheckBox;
import com.fr.general.Inter; import com.fr.general.Inter;
import javax.swing.*;
import java.awt.*;
public class CheckBoxDefinePane extends AbstractDataModify<CheckBox> { public class CheckBoxDefinePane extends AbstractDataModify<CheckBox> {
private UITextField text; private UITextField text;
public CheckBoxDefinePane() { public CheckBoxDefinePane() {
this.iniComoponents(); this.iniComoponents();
} }
private void iniComoponents() { private void iniComoponents() {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(0, 8, 0, 8)); text = new UITextField(8);
JPanel textPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel panel = new JPanel(new BorderLayout());
textPane.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); panel.add(text, BorderLayout.CENTER);
UIExpandablePane uiExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Advanced"), 280, 20, textPane); panel.setBorder(BorderFactory.createEmptyBorder(0, 35, 0, 0));
textPane.add(new UILabel(Inter.getLocText("Text") + ":"));
text = new UITextField(8); double f = TableLayout.FILL;
textPane.add(text); double p = TableLayout.PREFERRED;
this.add(uiExpandablePane); Component[][] components = new Component[][]{
} new Component[]{new UILabel(Inter.getLocText("FR-Designer_Text")), panel},
};
@Override double[] rowSize = {p};
protected String title4PopupWindow() { double[] columnSize = {p, f};
return "CheckBox"; int[][] rowCount = {{1, 1}};
} JPanel pane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_LARGE);
@Override UIExpandablePane uiExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Advanced"), 280, 24, pane);
public void populateBean(CheckBox check) { pane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 15));
text.setText(check.getText());
} this.add(uiExpandablePane);
}
@Override
public CheckBox updateBean() { @Override
CheckBox box = new CheckBox(); protected String title4PopupWindow() {
box.setText(text.getText()); return "CheckBox";
return box; }
}
@Override
public void populateBean(CheckBox check) {
text.setText(check.getText());
}
@Override
public CheckBox updateBean() {
CheckBox box = new CheckBox();
box.setText(text.getText());
return box;
}
} }

2
designer/src/com/fr/design/widget/ui/DirectWriteEditorDefinePane.java

@ -22,7 +22,7 @@ public abstract class DirectWriteEditorDefinePane<T extends DirectWriteEditor> e
@Override @Override
protected JPanel setFirstContentPane() { protected JPanel setFirstContentPane() {
JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane(); JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0)); contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
directWriteCheckBox = new UICheckBox(Inter.getLocText("Form-Allow_Edit"), false); directWriteCheckBox = new UICheckBox(Inter.getLocText("Form-Allow_Edit"), false);
directWriteCheckBox.setPreferredSize(new Dimension(100, 30)); directWriteCheckBox.setPreferredSize(new Dimension(100, 30));

4
designer/src/com/fr/design/widget/ui/ListEditorDefinePane.java

@ -25,8 +25,8 @@ public class ListEditorDefinePane extends WriteUnableRepeatEditorPane<ListEditor
@Override @Override
protected JPanel setThirdContentPane() { protected JPanel setThirdContentPane() {
JPanel contenter = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel contenter = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane_First0();
JPanel centerPane = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane(); JPanel centerPane = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane_First0();
centerPane.add(needHeadCheckBox = new UICheckBox(Inter.getLocText("List-Need_Head"))); centerPane.add(needHeadCheckBox = new UICheckBox(Inter.getLocText("List-Need_Head")));
contenter.add(centerPane); contenter.add(centerPane);
return contenter; return contenter;

148
designer/src/com/fr/design/widget/ui/MultiFileEditorPane.java

@ -1,92 +1,82 @@
package com.fr.design.widget.ui; package com.fr.design.widget.ui;
import java.awt.*;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.gui.ilable.UILabel;
import javax.swing.*;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.icombobox.DictionaryComboBox; import com.fr.design.gui.icombobox.DictionaryComboBox;
import com.fr.design.gui.icombobox.DictionaryConstants; import com.fr.design.gui.icombobox.DictionaryConstants;
import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.form.ui.MultiFileEditor; import com.fr.form.ui.MultiFileEditor;
import com.fr.general.Inter; import com.fr.general.Inter;
public class MultiFileEditorPane extends FieldEditorDefinePane<MultiFileEditor> { import javax.swing.*;
private DictionaryComboBox acceptType; import java.awt.*;
private UICheckBox singleFileCheckBox;
private UINumberField fileSizeField;
public MultiFileEditorPane() {
this.initComponents();
}
@Override
protected String title4PopupWindow() {
return "file";
}
@Override
protected JPanel setFirstContentPane() {
acceptType = new DictionaryComboBox(DictionaryConstants.acceptTypes, DictionaryConstants.fileTypeDisplays);
acceptType.setPreferredSize(new Dimension(200, 18));
singleFileCheckBox = new UICheckBox(Inter.getLocText("SINGLE_FILE_UPLOAD"));
fileSizeField = new UINumberField();
fileSizeField.setPreferredSize(new Dimension(80, 18));
JPanel singleFilePane = FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
singleFilePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
singleFilePane.add(singleFileCheckBox);
JPanel allowTypePane = FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
allowTypePane.setLayout(FRGUIPaneFactory.createLabelFlowLayout());
allowTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
allowTypePane.add(new UILabel(" " + Inter.getLocText("File-Allow_Upload_Files") + ":"));
allowTypePane.add(acceptType);
JPanel fileSizePane = FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
fileSizePane.add(new UILabel(" " + Inter.getLocText("File-File_Size_Limit") + ":"));
fileSizePane.add(fileSizeField);
fileSizePane.add(new UILabel(" KB"));
double f = TableLayout.FILL;
double p = TableLayout.PREFERRED;
Component[][] components = new Component[][]{
new Component[]{singleFileCheckBox, null },
new Component[]{new UILabel(" " + Inter.getLocText("File-Allow_Upload_Files") + ":"), acceptType},
new Component[]{new UILabel(" " + Inter.getLocText("File-File_Size_Limit") + ":"), fileSizeField},
};
double[] rowSize = {p, p,p};
double[] columnSize = {p,f};
int[][] rowCount = {{1, 1},{1, 1},{1, 1}};
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, 5);
return panel;
}
@Override
protected void populateSubFieldEditorBean(MultiFileEditor e) {
// 这里存在兼容问题 getAccept可能没在待选项目中
acceptType.setSelectedItem(e.getAccept());
singleFileCheckBox.setSelected(e.isSingleFile());
fileSizeField.setValue(e.getMaxSize());
}
@Override public class MultiFileEditorPane extends FieldEditorDefinePane<MultiFileEditor> {
protected MultiFileEditor updateSubFieldEditorBean() { private DictionaryComboBox acceptType;
MultiFileEditor ob = new MultiFileEditor(); private UICheckBox singleFileCheckBox;
ob.setAccept((String) acceptType.getSelectedItem()); private UISpinner fileSizeField;
ob.setSingleFile(singleFileCheckBox.isSelected());
ob.setMaxSize(fileSizeField.getValue()); public MultiFileEditorPane() {
return ob; this.initComponents();
} }
@Override
protected String title4PopupWindow() {
return "file";
}
@Override
protected JPanel setFirstContentPane() {
JPanel contenter = new JPanel(new BorderLayout());
singleFileCheckBox = new UICheckBox(Inter.getLocText("SINGLE_FILE_UPLOAD"));
acceptType = new DictionaryComboBox(DictionaryConstants.acceptTypes, DictionaryConstants.fileTypeDisplays);
// acceptType.setPreferredSize(new Dimension(100, 20));
fileSizeField = new UISpinner(0, Integer.MAX_VALUE, 1, -1);
fileSizeField.setPreferredSize(new Dimension(140, 20));
JPanel fileSizePane = new JPanel(new BorderLayout());
UILabel fileTypeLabel = new UILabel(Inter.getLocText("Utils-File_type"));
UILabel fileSizeLabel = new UILabel(Inter.getLocText("FR-Designer_Size_Limit"));
fileSizePane.add(fileSizeField, BorderLayout.CENTER);
fileSizePane.add(new UILabel(" KB"), BorderLayout.EAST);
double f = TableLayout.FILL;
double p = TableLayout.PREFERRED;
Component[][] components = new Component[][]{
new Component[]{singleFileCheckBox, null},
new Component[]{fileTypeLabel, acceptType},
new Component[]{fileSizeLabel, fileSizePane},
};
double[] rowSize = {p, p, p};
double[] columnSize = {p, f};
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}};
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, 22, 10);
panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 10, 00));
contenter.add(panel, BorderLayout.CENTER);
return contenter;
}
@Override
protected void populateSubFieldEditorBean(MultiFileEditor e) {
// 这里存在兼容问题 getAccept可能没在待选项目中
acceptType.setSelectedItem(e.getAccept());
singleFileCheckBox.setSelected(e.isSingleFile());
fileSizeField.setValue(e.getMaxSize());
}
@Override
protected MultiFileEditor updateSubFieldEditorBean() {
MultiFileEditor ob = new MultiFileEditor();
ob.setAccept((String) acceptType.getSelectedItem());
ob.setSingleFile(singleFileCheckBox.isSelected());
ob.setMaxSize(fileSizeField.getValue());
return ob;
}
} }

61
designer/src/com/fr/design/widget/ui/NumberEditorDefinePane.java

@ -3,11 +3,15 @@ package com.fr.design.widget.ui;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JComponent; import javax.swing.JComponent;
import javax.swing.JFormattedTextField; import javax.swing.JFormattedTextField;
import com.fr.design.constants.LayoutConstants;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -26,7 +30,7 @@ import com.fr.general.Inter;
public class NumberEditorDefinePane extends FieldEditorDefinePane<NumberEditor> { public class NumberEditorDefinePane extends FieldEditorDefinePane<NumberEditor> {
/** /**
* * FieldEditorDefinePane
*/ */
private static final long serialVersionUID = 8011242951911686805L; private static final long serialVersionUID = 8011242951911686805L;
private UICheckBox allowDecimalsCheckBox; private UICheckBox allowDecimalsCheckBox;
@ -37,7 +41,7 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane<NumberEditor>
private SpinnerNumberModel maxValueModel; private SpinnerNumberModel maxValueModel;
private UIBasicSpinner minValueSpinner; private UIBasicSpinner minValueSpinner;
private SpinnerNumberModel minValueModel; private SpinnerNumberModel minValueModel;
private com.fr.design.editor.editor.IntegerEditor decimalLength; private UIBasicSpinner decimalLength;
private JPanel limitNumberPane; private JPanel limitNumberPane;
private WaterMarkDictPane waterMarkDictPane; private WaterMarkDictPane waterMarkDictPane;
@ -78,7 +82,7 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane<NumberEditor>
}; };
private ActionListener actionListener3 = new ActionListener() { public ActionListener actionListener3 = new ActionListener() {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if (setMaxValueCheckBox.isSelected()) { if (setMaxValueCheckBox.isSelected()) {
maxValueSpinner.setVisible(true); maxValueSpinner.setVisible(true);
@ -142,7 +146,8 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane<NumberEditor>
}; };
public NumberEditorDefinePane() { public NumberEditorDefinePane() {
super(); // super();
this.initComponents();
} }
@ -166,46 +171,60 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane<NumberEditor>
public JPanel setValidatePane() { public JPanel setValidatePane() {
this.allowDecimalsCheckBox = new UICheckBox(Inter.getLocText("Allow_Decimals")); this.allowDecimalsCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Allow_Decimals"));
this.decimalLength = new com.fr.design.editor.editor.IntegerEditor(); this.decimalLength = new UIBasicSpinner(new SpinnerNumberModel(16, 0, Integer.MAX_VALUE, 1));
this.decimalLength.setColumns(4); this.decimalLength.setPreferredSize(new Dimension(155, 20));
this.allowDecimalsCheckBox.addActionListener(actionListener1); this.allowDecimalsCheckBox.addActionListener(actionListener1);
this.allowNegativeCheckBox = new UICheckBox(Inter.getLocText("Allow_Negative")); this.allowNegativeCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Allow_Negative"));
this.allowNegativeCheckBox.addActionListener(actionListener2); this.allowNegativeCheckBox.addActionListener(actionListener2);
this.setMaxValueCheckBox = new UICheckBox(Inter.getLocText("Need_Max_Value"), false); this.setMaxValueCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Max_Value"), false);
this.maxValueSpinner = new UIBasicSpinner(maxValueModel = new SpinnerNumberModel(0D, -Double.MAX_VALUE, Double.MAX_VALUE, 1D)); this.maxValueSpinner = new UIBasicSpinner(maxValueModel = new SpinnerNumberModel(0D, -Double.MAX_VALUE, Double.MAX_VALUE, 1D));
maxValueSpinner.setPreferredSize(new Dimension(120, 20)); maxValueSpinner.setPreferredSize(new Dimension(155, 20));
setNotAllowsInvalid(this.maxValueSpinner); setNotAllowsInvalid(this.maxValueSpinner);
this.maxValueSpinner.setVisible(false); this.maxValueSpinner.setVisible(false);
this.setMaxValueCheckBox.addActionListener(actionListener3); this.setMaxValueCheckBox.addActionListener(actionListener3);
this.maxValueSpinner.addChangeListener(changeListener1); this.maxValueSpinner.addChangeListener(changeListener1);
this.setMinValueCheckBox = new UICheckBox(Inter.getLocText("Need_Min_Value"), false); this.setMinValueCheckBox = new UICheckBox(Inter.getLocText("FR-Designer_Min_Value"), false);
this.minValueSpinner = new UIBasicSpinner(minValueModel = new SpinnerNumberModel(0D, -Double.MAX_VALUE, Double.MAX_VALUE, 1D)); this.minValueSpinner = new UIBasicSpinner(minValueModel = new SpinnerNumberModel(0D, -Double.MAX_VALUE, Double.MAX_VALUE, 1D));
minValueSpinner.setPreferredSize(new Dimension(120, 20)); minValueSpinner.setPreferredSize(new Dimension(155, 20));
setNotAllowsInvalid(this.minValueSpinner); setNotAllowsInvalid(this.minValueSpinner);
this.minValueSpinner.setVisible(false); this.minValueSpinner.setVisible(false);
this.setMinValueCheckBox.addActionListener(actionListener4); this.setMinValueCheckBox.addActionListener(actionListener4);
this.minValueSpinner.addChangeListener(changeListener2); this.minValueSpinner.addChangeListener(changeListener2);
UILabel numberLabel = new UILabel(Inter.getLocText(new String[]{"FR-Designer_Double", "Numbers"}));
numberLabel.setBorder(BorderFactory.createEmptyBorder(0, 12, 0, 0));
JPanel decimalPane = new JPanel(new BorderLayout());
decimalPane.add(decimalLength, BorderLayout.CENTER);
decimalPane.setBorder(BorderFactory.createEmptyBorder(0, 12, 0, 0));
JPanel maxValueSpinnerPane = new JPanel(new BorderLayout());
maxValueSpinnerPane.add(maxValueSpinner, BorderLayout.CENTER);
maxValueSpinnerPane.setBorder(BorderFactory.createEmptyBorder(0, 12, 0, 0));
JPanel minValueSpinnerPane = new JPanel(new BorderLayout());
minValueSpinnerPane.add(minValueSpinner, BorderLayout.CENTER);
minValueSpinnerPane.setBorder(BorderFactory.createEmptyBorder(0, 12, 0, 0));
double f = TableLayout.FILL; double f = TableLayout.FILL;
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{allowDecimalsCheckBox, null }, new Component[]{allowDecimalsCheckBox, null},
new Component[]{new UILabel(Inter.getLocText(new String[]{"Double", "Numbers"})), decimalLength }, new Component[]{numberLabel, decimalPane},
new Component[]{allowNegativeCheckBox, null}, new Component[]{allowNegativeCheckBox, null},
new Component[]{setMaxValueCheckBox, maxValueSpinner}, new Component[]{setMaxValueCheckBox, maxValueSpinnerPane},
new Component[]{setMinValueCheckBox, minValueSpinner}, new Component[]{setMinValueCheckBox, minValueSpinnerPane},
}; };
double[] rowSize = {p, p, p, p, p}; double[] rowSize = {p, p, p, p, p};
double[] columnSize = {p,f}; double[] columnSize = {p, f};
int[][] rowCount = {{1, 1},{1, 1},{1, 1},{1, 1},{1, 1}}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}};
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, 10, 1); JPanel pane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM);
return panel; pane.setBorder(BorderFactory.createEmptyBorder(0, 1, 0, 0));
return pane;
} }
@ -250,7 +269,7 @@ public class NumberEditorDefinePane extends FieldEditorDefinePane<NumberEditor>
NumberEditor ob = new NumberEditor(); NumberEditor ob = new NumberEditor();
ob.setAllowDecimals(allowDecimalsCheckBox.isSelected()); ob.setAllowDecimals(allowDecimalsCheckBox.isSelected());
if (allowDecimalsCheckBox.isSelected()) { if (allowDecimalsCheckBox.isSelected()) {
ob.setMaxDecimalLength(this.decimalLength.getValue()); ob.setMaxDecimalLength((Integer) this.decimalLength.getValue());
} }
ob.setAllowNegative(allowNegativeCheckBox.isSelected()); ob.setAllowNegative(allowNegativeCheckBox.isSelected());

4
designer/src/com/fr/design/widget/ui/RadioGroupDefinePane.java

@ -28,9 +28,9 @@ public class RadioGroupDefinePane extends FieldEditorDefinePane<RadioGroup> {
@Override @Override
protected JPanel setFirstContentPane() { protected JPanel setFirstContentPane() {
JPanel centerPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel centerPane = FRGUIPaneFactory.createLeftFlowZeroGapBorderPane();
buttonGroupDictPane = new ButtonGroupDictPane(); buttonGroupDictPane = new ButtonGroupDictPane();
buttonGroupDictPane.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 0)); buttonGroupDictPane.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
centerPane.add(buttonGroupDictPane); centerPane.add(buttonGroupDictPane);
return centerPane; return centerPane;
} }

10
designer/src/com/fr/design/widget/ui/TreeEditorDefinePane.java

@ -5,6 +5,9 @@ import com.fr.design.gui.frpane.TreeSettingPane;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.itree.refreshabletree.TreeRootPane; import com.fr.design.gui.itree.refreshabletree.TreeRootPane;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.FRLeftFlowLayout;
import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper;
import com.fr.form.ui.TreeEditor; import com.fr.form.ui.TreeEditor;
import com.fr.general.Inter; import com.fr.general.Inter;
@ -46,13 +49,14 @@ public class TreeEditorDefinePane extends FieldEditorDefinePane<TreeEditor> {
@Override @Override
protected JPanel setFirstContentPane() { protected JPanel setFirstContentPane() {
return this.setSecondContentPane(); return this.setSecondContentPane();
} }
protected JPanel setSecondContentPane() { protected JPanel setSecondContentPane() {
JPanel contentPane = FRGUIPaneFactory.createBorderLayout_L_Pane(); JPanel contentPane = FRGUIPaneFactory.createBorderLayout_L_Pane();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
JPanel contenter = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane(); JPanel contenter = FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane_First0();
contentPane.add(contenter,BorderLayout.NORTH); contentPane.add(contenter,BorderLayout.NORTH);
removeRepeatCheckBox = new UICheckBox(Inter.getLocText("Form-Remove_Repeat_Data"), false); removeRepeatCheckBox = new UICheckBox(Inter.getLocText("Form-Remove_Repeat_Data"), false);
contenter.add(removeRepeatCheckBox); contenter.add(removeRepeatCheckBox);

2
designer/src/com/fr/design/widget/ui/WaterMarkDictPane.java

@ -39,7 +39,7 @@ public class WaterMarkDictPane extends JPanel {
int[][] rowCount = {{1, 1}}; int[][] rowCount = {{1, 1}};
JPanel panel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); JPanel panel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize);
// JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_MEDIUM); // JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_LARGE, LayoutConstants.VGAP_MEDIUM);
panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 5, 0)); panel.setBorder(BorderFactory.createEmptyBorder(10, 0, 0, 0));
this.add(panel, BorderLayout.CENTER); this.add(panel, BorderLayout.CENTER);
} }

2
designer/src/com/fr/design/widget/ui/WritableRepeatEditorPane.java

@ -15,7 +15,7 @@ public abstract class WritableRepeatEditorPane<E extends WriteAbleRepeatEditor>
@Override @Override
protected JPanel setSecondContentPane() { protected JPanel setSecondContentPane() {
JPanel contentPane = FRGUIPaneFactory.createBorderLayout_L_Pane(); JPanel contentPane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); contentPane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
JPanel otherContentPane = this.setThirdContentPane(); JPanel otherContentPane = this.setThirdContentPane();
if (otherContentPane != null) { if (otherContentPane != null) {

5
designer/src/com/fr/design/widget/ui/WriteUnableRepeatEditorPane.java

@ -20,9 +20,8 @@ public abstract class WriteUnableRepeatEditorPane<E extends WriteUnableRepeatEdi
@Override @Override
protected JPanel setFirstContentPane() { protected JPanel setFirstContentPane() {
JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane(); JPanel contentPane = FRGUIPaneFactory.createYBoxEmptyBorderPane();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0)); JPanel contenter=FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane_First0();
JPanel contenter=FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane();
removeRepeatCheckBox = new UICheckBox(Inter.getLocText("Form-Remove_Repeat_Data"), false); removeRepeatCheckBox = new UICheckBox(Inter.getLocText("Form-Remove_Repeat_Data"), false);
contentPane.add(contenter); contentPane.add(contenter);
contenter.add(removeRepeatCheckBox); contenter.add(removeRepeatCheckBox);

2
designer_base/src/com/fr/design/constants/UIConstants.java

@ -154,7 +154,7 @@ public interface UIConstants {
public static final Color BARNOMAL = new Color(232, 232, 233); public static final Color BARNOMAL = new Color(232, 232, 233);
public static final Color COMPONENT_BACKGROUND_COLOR = new Color(237,237,238); public static final Color COMPONENT_BACKGROUND_COLOR = new Color(237,237,238);
public static final int ARC = 0; public static final int ARC = 0;
public static final int BUTTON_GROUP_ARC = 6; public static final int BUTTON_GROUP_ARC = 0;
public static final int LARGEARC = 6; public static final int LARGEARC = 6;
public static final Stroke BS = new BasicStroke(1f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 2f, new float[]{3, 1}, 0); public static final Stroke BS = new BasicStroke(1f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_ROUND, 2f, new float[]{3, 1}, 0);
public static final Icon PREVIEW_DOWN = BaseUtils.readIcon("com/fr/design/images/buttonicon/prevew_down_icon.png"); public static final Icon PREVIEW_DOWN = BaseUtils.readIcon("com/fr/design/images/buttonicon/prevew_down_icon.png");

1
designer_base/src/com/fr/design/gui/frpane/TreeSettingPane.java

@ -52,6 +52,7 @@ public class TreeSettingPane extends BasicPane implements DataCreatorUI {
private void initComponents(boolean isEditor) { private void initComponents(boolean isEditor) {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
JPanel buildWayPanel= FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane(); JPanel buildWayPanel= FRGUIPaneFactory.createMediumHGapFlowInnerContainer_M_Pane();
buildWayPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
UILabel buildWayLabel = new UILabel(Inter.getLocText("FR-Designer_Build-Way") + " :"); UILabel buildWayLabel = new UILabel(Inter.getLocText("FR-Designer_Build-Way") + " :");
buildWayPanel.add(buildWayLabel); buildWayPanel.add(buildWayLabel);
buildBox = new UIComboBox(buildWay); buildBox = new UIComboBox(buildWay);

3
designer_base/src/com/fr/design/gui/ibutton/UIButtonGroup.java

@ -153,14 +153,13 @@ public class UIButtonGroup<T> extends JPanel implements GlobalNameObserver {
} }
protected void initButton(UIToggleButton labelButton) { protected void initButton(UIToggleButton labelButton) {
labelButton.setRoundBorder(true);
labelButton.setBorderPainted(false); labelButton.setBorderPainted(false);
labelButtonList.add(labelButton); labelButtonList.add(labelButton);
this.add(labelButton); this.add(labelButton);
} }
protected Border getGroupBorder() { protected Border getGroupBorder() {
return BorderFactory.createEmptyBorder(1, 1, 1, 1); return BorderFactory.createEmptyBorder(0, 0, 0, 0);
} }
protected LayoutManager getGridLayout(int number) { protected LayoutManager getGridLayout(int number) {

44
designer_base/src/com/fr/design/gui/itree/refreshabletree/TreeRootPane.java

@ -9,7 +9,6 @@ import javax.swing.JPanel;
import com.fr.data.impl.TreeAttr; import com.fr.data.impl.TreeAttr;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.general.Inter; import com.fr.general.Inter;
@ -18,10 +17,10 @@ public class TreeRootPane extends BasicPane {
// 是否支持多选(checkBoxTree) // 是否支持多选(checkBoxTree)
//private JCheckBox multipleSelection; //private JCheckBox multipleSelection;
private UIComboBox checkTypeComboBox; private UICheckBox checkTypeCheckBox;
// richer:加载的方式,支持异步加载和完全加载 // richer:加载的方式,支持异步加载和完全加载
private UIComboBox loadTypeComboBox; private UICheckBox loadTypeCheckBox;
private UICheckBox layerTypeCheckBox; private UICheckBox layerTypeCheckBox;
@ -30,31 +29,26 @@ public class TreeRootPane extends BasicPane {
public TreeRootPane() { public TreeRootPane() {
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
JPanel checkTypePane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel checkTypePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0();
checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
checkTypePane.add(new UILabel(Inter.getLocText("Tree-Mutiple_Selection_Or_Not") + ":")); checkTypeCheckBox = new UICheckBox(Inter.getLocText("Tree-Mutiple_Selection_Or_Not"));
checkTypeComboBox = new UIComboBox(new String[] {Inter.getLocText("Yes"), Inter.getLocText("No")}); checkTypePane.add(checkTypeCheckBox);
checkTypePane.add(checkTypeComboBox);
this.add(checkTypePane); this.add(checkTypePane);
JPanel loadTypePane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel loadTypePane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0();
loadTypePane.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
loadTypePane.add(new UILabel(Inter.getLocText("Widget-Load_Type") + ":")); loadTypeCheckBox = new UICheckBox(Inter.getLocText("Widget-Load_By_Async"));
loadTypeComboBox = new UIComboBox(new String[]{Inter.getLocText("Widget-Load_By_Async"), Inter.getLocText("Widget-Load_By_Complete")}); loadTypePane.add(loadTypeCheckBox);
loadTypePane.add(loadTypeComboBox);
this.add(loadTypePane); this.add(loadTypePane);
JPanel leafSelectPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel leafSelectPane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0();
leafSelectPane.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
leafSelectPane.add(layerTypeCheckBox = new UICheckBox(Inter.getLocText("Tree-Select_Leaf_Only"))); leafSelectPane.add(layerTypeCheckBox = new UICheckBox(Inter.getLocText("Tree-Select_Leaf_Only")));
UILabel tips = new UILabel(Inter.getLocText("Tree-Select_Leaf_Only_Tips"));
tips.setForeground(new Color(147, 178, 233));
leafSelectPane.add(tips);
this.add(leafSelectPane); this.add(leafSelectPane);
JPanel returnFullPathPane = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel returnFullPathPane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane_First0();
returnFullPathPane.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); checkTypePane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
returnFullPathPane.add(returnFullPathCheckBox = new UICheckBox(Inter.getLocText("Tree-Return_Full_Path"))); returnFullPathPane.add(returnFullPathCheckBox = new UICheckBox(Inter.getLocText("Tree-Return_Full_Path")));
this.add(returnFullPathPane); this.add(returnFullPathPane);
} }
@ -65,16 +59,16 @@ public class TreeRootPane extends BasicPane {
} }
public void populate(TreeAttr treeAttr) { public void populate(TreeAttr treeAttr) {
checkTypeComboBox.setSelectedIndex(treeAttr.isMultipleSelection() ? 0 : 1); checkTypeCheckBox.setSelected(treeAttr.isMultipleSelection());
loadTypeComboBox.setSelectedIndex(treeAttr.isAjax() ? 0 : 1); loadTypeCheckBox.setSelected(treeAttr.isAjax());
layerTypeCheckBox.setSelected(treeAttr.isSelectLeafOnly()); layerTypeCheckBox.setSelected(treeAttr.isSelectLeafOnly());
returnFullPathCheckBox.setSelected(treeAttr.isReturnFullPath()); returnFullPathCheckBox.setSelected(treeAttr.isReturnFullPath());
} }
public TreeAttr update() { public TreeAttr update() {
TreeAttr treeAttr = new TreeAttr(); TreeAttr treeAttr = new TreeAttr();
treeAttr.setMultipleSelection(checkTypeComboBox.getSelectedIndex() == 0); treeAttr.setMultipleSelection(checkTypeCheckBox.isSelected());
treeAttr.setAjax(loadTypeComboBox.getSelectedIndex() == 0); treeAttr.setAjax(loadTypeCheckBox.isSelected());
treeAttr.setSelectLeafOnly(layerTypeCheckBox.isSelected()); treeAttr.setSelectLeafOnly(layerTypeCheckBox.isSelected());
treeAttr.setReturnFullPath(returnFullPathCheckBox.isSelected()); treeAttr.setReturnFullPath(returnFullPathCheckBox.isSelected());

926
designer_base/src/com/fr/design/layout/FRGUIPaneFactory.java

@ -1,456 +1,510 @@
package com.fr.design.layout; package com.fr.design.layout;
import java.awt.BorderLayout; import com.fr.design.border.UITitledBorder;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.LayoutManager;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.Icon;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import com.fr.design.border.UITitledBorder; import javax.swing.*;
import java.awt.*;
public class FRGUIPaneFactory { public class FRGUIPaneFactory {
private FRGUIPaneFactory() { private FRGUIPaneFactory() {
} }
public static final float WIDTH_PARA_F = 80.0f; public static final float WIDTH_PARA_F = 80.0f;
public static final int WIDTH_OFFSET_N = 60; public static final int WIDTH_OFFSET_N = 60;
public static final int WIDTH_OFFSET_M = 20; public static final int WIDTH_OFFSET_M = 20;
public static final int WIDTH_PARA_INT = 80; public static final int WIDTH_PARA_INT = 80;
public static final float WIDTHABS_PARA_F = 2.0f; public static final float WIDTHABS_PARA_F = 2.0f;
public static final int HEIGHT_PARA = 25; public static final int HEIGHT_PARA = 25;
public static final int HEIGHT_OFFSET = 50; public static final int HEIGHT_OFFSET = 50;
/** /**
* 创建一个靠右靠左的水平间隙为2的流式布局 * 创建一个靠右靠左的水平间隙为2的流式布局
*
* @return FlowLayout对象 * @return FlowLayout对象
*/ */
public static LayoutManager createBoxFlowLayout() { // createBoxFlowLayout 图表用到的比较多 public static LayoutManager createBoxFlowLayout() { // createBoxFlowLayout 图表用到的比较多
return new FlowLayout(FlowLayout.LEFT, 2, 0); return new FlowLayout(FlowLayout.LEFT, 2, 0);
} }
/** /**
* 创建一个靠左的布局 * 创建一个靠左的布局
* @return FlowLayout对象 *
*/ * @return FlowLayout对象
public static LayoutManager createLeftZeroLayout() { */
return new FlowLayout(FlowLayout.LEFT, 0, 0); public static LayoutManager createLeftZeroLayout() {
} return new FlowLayout(FlowLayout.LEFT, 0, 0);
}
/** /**
* 创建一个靠左的水平和垂直间隙均为5的流式布局 * 创建一个靠左的水平和垂直间隙均为5的流式布局
*
* @return FlowLayout对象
*/
public static LayoutManager createLabelFlowLayout() { // createLabelFlowLayout
return new FlowLayout(FlowLayout.LEFT); // 默认 5, 5
}
/**
* 创建一个靠左流式布局间距10,10
*
* @return FlowLayout对象
*/
public static LayoutManager createL_FlowLayout() {
return new FlowLayout(FlowLayout.LEFT, 10, 10);
}
/**
* 创建一个居中流式布局
*
* @return FlowLayout对象
*/
public static LayoutManager createCenterFlowLayout() {
return new FlowLayout(FlowLayout.CENTER);
}
/**
* 创建一个靠右流式布局
*
* @return FlowLayout对象 * @return FlowLayout对象
*/ */
public static LayoutManager createLabelFlowLayout() { // createLabelFlowLayout public static LayoutManager createRightFlowLayout() {
return new FlowLayout(FlowLayout.LEFT); // 默认 5, 5 return new FlowLayout(FlowLayout.RIGHT);
} }
/** /**
* 创建一个靠左流式布局间距10,10 * 创建一个边框布局
* @return FlowLayout对象 *
*/ * @return BorderLayout对象
public static LayoutManager createL_FlowLayout() { */
return new FlowLayout(FlowLayout.LEFT, 10, 10); public static LayoutManager createBorderLayout() {
} return new BorderLayout();
}
/**
* 创建一个居中流式布局 /**
* @return FlowLayout对象 * 创建一个边框布局间距4,4
*/ *
public static LayoutManager createCenterFlowLayout() { * @return BorderLayout对象
return new FlowLayout(FlowLayout.CENTER); */
} public static LayoutManager createM_BorderLayout() {
return new BorderLayout(4, 4);
/** }
* 创建一个靠右流式布局
* @return FlowLayout对象 // TODO 删掉
*/
public static LayoutManager createRightFlowLayout() { /**
return new FlowLayout(FlowLayout.RIGHT); * 创建一个1列的网格布局
} *
* @return FRGridLayout对象
/** */
* 创建一个边框布局 public static LayoutManager create1ColumnGridLayout() {
* @return BorderLayout对象 return new FRGridLayout(1);
*/ }
public static LayoutManager createBorderLayout() {
return new BorderLayout(); /**
} * 创建一个2列的网格布局
*
/** * @return FRGridLayout对象
* 创建一个边框布局间距4,4 */
* @return BorderLayout对象 public static LayoutManager create2ColumnGridLayout() {
*/ return new FRGridLayout(2);
public static LayoutManager createM_BorderLayout() { }
return new BorderLayout(4,4);
} /**
* 创建一个n列的网格布局
// TODO 删掉 *
* @param nColumn 列数
/** * @return FRGridLayout对象
* 创建一个1列的网格布局 */
* @return FRGridLayout对象 public static LayoutManager createNColumnGridLayout(int nColumn) {
*/ return new FRGridLayout(nColumn);
public static LayoutManager create1ColumnGridLayout() { }
return new FRGridLayout(1);
} /**
* 创建一个带标题边框面板
/** *
* 创建一个2列的网格布局 * @param string 边框标题
* @return FRGridLayout对象 * @return JPanel对象
*/ */
public static LayoutManager create2ColumnGridLayout() { public static JPanel createTitledBorderPane(String string) {
return new FRGridLayout(2); JPanel jp = new JPanel();
} UITitledBorder explainBorder = UITitledBorder.createBorderWithTitle(string);
jp.setBorder(explainBorder);
/** jp.setLayout(new FlowLayout(FlowLayout.LEFT));
* 创建一个n列的网格布局 return jp;
* @param nColumn 列数 }
* @return FRGridLayout对象
*/ /**
public static LayoutManager createNColumnGridLayout(int nColumn) { * 创建一个带标题边框面板并且居中显示
return new FRGridLayout(nColumn); *
} * @param borderTitle 边框标题
* @return JPanel对象
/** */
* 创建一个带标题边框面板 public static JPanel createTitledBorderPaneCenter(String borderTitle) {
* @param string 边框标题 JPanel jp = new JPanel();
* @return JPanel对象 UITitledBorder explainBorder = UITitledBorder.createBorderWithTitle(borderTitle);
*/ jp.setBorder(explainBorder);
public static JPanel createTitledBorderPane(String string) { jp.setLayout(new FlowLayout(FlowLayout.CENTER));
JPanel jp = new JPanel(); return jp;
UITitledBorder explainBorder = UITitledBorder.createBorderWithTitle(string); }
jp.setBorder(explainBorder);
jp.setLayout(new FlowLayout(FlowLayout.LEFT)); /**
return jp; * 创建一个靠左空边框布局间隔大
} *
* @return JPanel对象
/** */
* 创建一个带标题边框面板并且居中显示 public static JPanel createBigHGapFlowInnerContainer_M_Pane() {
* @param borderTitle 边框标题 JPanel jp = new JPanel();
* @return JPanel对象 jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
*/ jp.setLayout(new FRLeftFlowLayout(5, 60, 5));
public static JPanel createTitledBorderPaneCenter(String borderTitle) { return jp;
JPanel jp = new JPanel(); }
UITitledBorder explainBorder = UITitledBorder.createBorderWithTitle(borderTitle);
jp.setBorder(explainBorder); /**
jp.setLayout(new FlowLayout(FlowLayout.CENTER)); * 创建一个靠左空边框面板间隔中等
return jp; *
} * @return JPanel对象
*/
/** public static JPanel createMediumHGapFlowInnerContainer_M_Pane() {
* 创建一个靠左空边框布局间隔大 JPanel jp = new JPanel();
* @return JPanel对象 jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
*/ jp.setLayout(new FRLeftFlowLayout(5, 20, 5));
public static JPanel createBigHGapFlowInnerContainer_M_Pane() { return jp;
JPanel jp = new JPanel(); }
jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
jp.setLayout(new FRLeftFlowLayout(5, 60, 5)); /**
return jp; * 创建一个靠左空边框面板间隔中等firsthgap 为0
} *
* @return JPanel对象
/** */
* 创建一个靠左空边框面板间隔中等 public static JPanel createMediumHGapFlowInnerContainer_M_Pane_First0() {
* @return JPanel对象 JPanel jp = new JPanel();
*/ jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
public static JPanel createMediumHGapFlowInnerContainer_M_Pane() { jp.setLayout(new FRLeftFlowLayout(0, 20, 5));
JPanel jp = new JPanel(); return jp;
jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); }
jp.setLayout(new FRLeftFlowLayout(5, 20, 5));
return jp; /**
} * 创建一个靠左空边框面板间隔中等
*
/** * @return JPanel对象
* 创建一个靠左空边框面板间隔中等 */
* @return JPanel对象 public static JPanel createMediumHGapHighTopFlowInnerContainer_M_Pane() {
*/ JPanel jp = new JPanel();
public static JPanel createMediumHGapHighTopFlowInnerContainer_M_Pane() { jp.setBorder(BorderFactory.createEmptyBorder(50, 5, 0, 0));
JPanel jp = new JPanel(); jp.setLayout(new FRLeftFlowLayout(5, 20, 5));
jp.setBorder(BorderFactory.createEmptyBorder(50, 5, 0, 0)); return jp;
jp.setLayout(new FRLeftFlowLayout(5, 20, 5)); }
return jp;
} /**
* 创建一个正常靠左空边框面板
/** *
* 创建一个正常靠左空边框面板 * @return JPanel对象
* @return JPanel对象 */
*/ public static JPanel createNormalFlowInnerContainer_M_Pane() {
public static JPanel createNormalFlowInnerContainer_M_Pane() { JPanel jp = new JPanel();
JPanel jp = new JPanel(); jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); jp.setLayout(new FlowLayout(FlowLayout.LEFT));
jp.setLayout(new FlowLayout(FlowLayout.LEFT)); return jp;
return jp; }
}
/**
/** * 创建一个靠左0间距边框面板
* 创建一个靠左0间距边框面板 *
* @return JPanel对象 * @return JPanel对象
*/ */
public static JPanel createLeftFlowZeroGapBorderPane() { public static JPanel createLeftFlowZeroGapBorderPane() {
JPanel jp = new JPanel(); JPanel jp = new JPanel();
jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
jp.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); jp.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));
return jp; return jp;
} }
/** /**
* 创建一个靠左流式布局正常流式内嵌 * 创建一个靠左流式布局正常流式内嵌
* @return JPanel对象 *
*/ * @return JPanel对象
public static JPanel createNormalFlowInnerContainer_S_Pane() { */
JPanel jp = new JPanel(); public static JPanel createNormalFlowInnerContainer_S_Pane() {
jp.setLayout(new FlowLayout(FlowLayout.LEFT)); JPanel jp = new JPanel();
return jp; jp.setLayout(new FlowLayout(FlowLayout.LEFT));
} return jp;
}
/**
* 创建一个靠左流式布局流式内嵌 /**
* @return JPanel对象 * 创建一个靠左流式布局流式内嵌
*/ *
public static JPanel createBoxFlowInnerContainer_S_Pane() { * @return JPanel对象
JPanel jp = new JPanel(); */
jp.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2)); public static JPanel createBoxFlowInnerContainer_S_Pane() {
return jp; JPanel jp = new JPanel();
} jp.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 2));
return jp;
/** }
* 创建一个靠右面板
* @return JPanel对象 /**
*/ * 创建一个靠左流式布局流式内嵌首元素距离左边0
public static JPanel createRightFlowInnerContainer_S_Pane() { *
JPanel jp = new JPanel(); * @return JPanel对象
jp.setLayout(new FlowLayout(FlowLayout.RIGHT)); */
return jp; public static JPanel createBoxFlowInnerContainer_S_Pane_First0() {
} JPanel jp = new JPanel();
jp.setLayout(new FRLeftFlowLayout(0, 0, 5));
/** return jp;
* 创建一个居中面板 }
* @return JPanel对象
*/ /**
public static JPanel createCenterFlowInnerContainer_S_Pane() { * 创建一个靠右面板
JPanel jp = new JPanel(); *
jp.setLayout(new FlowLayout(FlowLayout.CENTER)); * @return JPanel对象
return jp; */
} public static JPanel createRightFlowInnerContainer_S_Pane() {
JPanel jp = new JPanel();
/** jp.setLayout(new FlowLayout(FlowLayout.RIGHT));
* 创建一个居中0间距面板 return jp;
* @return JPanel对象 }
*/
public static JPanel createCenterFlowZeroGapBorderPane() { /**
JPanel jp = new JPanel(); * 创建一个居中面板
jp.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); *
jp.setBorder(BorderFactory.createEmptyBorder()); * @return JPanel对象
return jp; */
} public static JPanel createCenterFlowInnerContainer_S_Pane() {
JPanel jp = new JPanel();
/** jp.setLayout(new FlowLayout(FlowLayout.CENTER));
* 创建纵向排列面板 return jp;
* @return JPanel对象 }
*/
public static JPanel createY_AXISBoxInnerContainer_L_Pane() { /**
JPanel jp = new JPanel(); * 创建一个居中0间距面板
jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); *
jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS)); * @return JPanel对象
return jp; */
} public static JPanel createCenterFlowZeroGapBorderPane() {
JPanel jp = new JPanel();
/** jp.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
* 创建纵向边框面板 jp.setBorder(BorderFactory.createEmptyBorder());
* @return JPanel对象 return jp;
*/ }
public static JPanel createYBoxEmptyBorderPane() {
JPanel jp = new JPanel(); /**
jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); * 创建纵向排列面板
jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS)); *
return jp; * @return JPanel对象
} */
public static JPanel createY_AXISBoxInnerContainer_L_Pane() {
/** JPanel jp = new JPanel();
* 创建横向面板 jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
* @return JPanel对象 jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
*/ return jp;
public static JPanel createX_AXISBoxInnerContainer_L_Pane() { }
JPanel jp = new JPanel();
jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); /**
jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS)); * 创建纵向边框面板
return jp; *
} * @return JPanel对象
*/
/** public static JPanel createYBoxEmptyBorderPane() {
* 创建纵向面板M JPanel jp = new JPanel();
* @return JPanel对象 jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
*/ jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
public static JPanel createY_AXISBoxInnerContainer_M_Pane() { return jp;
JPanel jp = new JPanel(); }
jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS)); /**
return jp; * 创建横向面板
} *
* @return JPanel对象
/** */
* 创建横向内置boxlayout的面板 public static JPanel createX_AXISBoxInnerContainer_L_Pane() {
* @return JPanel对象 JPanel jp = new JPanel();
*/ jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
public static JPanel createX_AXISBoxInnerContainer_M_Pane() { jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS));
JPanel jp = new JPanel(); return jp;
jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0)); }
jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS));
return jp; /**
} * 创建纵向面板M
*
/** * @return JPanel对象
* 创建纵向内置boxlayout的面板 */
* @return JPanel对象 public static JPanel createY_AXISBoxInnerContainer_M_Pane() {
*/ JPanel jp = new JPanel();
public static JPanel createY_AXISBoxInnerContainer_S_Pane() { jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
JPanel jp = new JPanel(); jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS)); return jp;
return jp; }
}
/**
/** * 创建横向内置boxlayout的面板
* 创建横向内置boxlayout的面板 *
* @return JPanel对象 * @return JPanel对象
*/ */
public static JPanel createX_AXISBoxInnerContainer_S_Pane() { public static JPanel createX_AXISBoxInnerContainer_M_Pane() {
JPanel jp = new JPanel(); JPanel jp = new JPanel();
jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS)); jp.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));
return jp; jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS));
} return jp;
}
/**
* 创建n列网格面板 /**
* @param nColumn 列数 * 创建纵向内置boxlayout的面板
* @return JPanel对象 *
*/ * @return JPanel对象
public static JPanel createNColumnGridInnerContainer_S_Pane(int nColumn) { */
JPanel jp = new JPanel(); public static JPanel createY_AXISBoxInnerContainer_S_Pane() {
jp.setLayout(new FRGridLayout(nColumn)); JPanel jp = new JPanel();
return jp; jp.setLayout(new BoxLayout(jp, BoxLayout.Y_AXIS));
} return jp;
}
/**
* 创建n列网格面板 /**
* @param nColumn 列数 * 创建横向内置boxlayout的面板
* @param h 水平间距 *
* @param v 垂直间距 * @return JPanel对象
* @return JPanel对象 */
*/ public static JPanel createX_AXISBoxInnerContainer_S_Pane() {
public static JPanel createNColumnGridInnerContainer_Pane(int nColumn, int h, int v) { JPanel jp = new JPanel();
JPanel jp = new JPanel(); jp.setLayout(new BoxLayout(jp, BoxLayout.X_AXIS));
jp.setLayout(new FRGridLayout(nColumn, h, v)); return jp;
return jp; }
}
/**
/** * 创建n列网格面板
* 创建顶格n列网格面板 *
* @param nColumn 列数 * @param nColumn 列数
* @return JPanel对象 * @return JPanel对象
*/ */
public static JPanel createFillColumnPane(int nColumn) { public static JPanel createNColumnGridInnerContainer_S_Pane(int nColumn) {
JPanel jp = new JPanel(); JPanel jp = new JPanel();
jp.setLayout(new FRGridLayout(nColumn, 0, 0)); jp.setLayout(new FRGridLayout(nColumn));
return jp; return jp;
} }
/** /**
* 创建边框面板L * 创建n列网格面板
* @return JPanel对象 *
*/ * @param nColumn 列数
public static JPanel createBorderLayout_L_Pane() { * @param h 水平间距
JPanel jp = new JPanel(); * @param v 垂直间距
jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); * @return JPanel对象
jp.setLayout(FRGUIPaneFactory.createBorderLayout()); */
return jp; public static JPanel createNColumnGridInnerContainer_Pane(int nColumn, int h, int v) {
} JPanel jp = new JPanel();
jp.setLayout(new FRGridLayout(nColumn, h, v));
/** return jp;
* 创建边框面板M }
* @return JPanel对象
*/ /**
public static JPanel createBorderLayout_M_Pane() { * 创建顶格n列网格面板
JPanel jp = new JPanel(); *
jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); * @param nColumn 列数
jp.setLayout(FRGUIPaneFactory.createM_BorderLayout()); * @return JPanel对象
return jp; */
} public static JPanel createFillColumnPane(int nColumn) {
JPanel jp = new JPanel();
/** jp.setLayout(new FRGridLayout(nColumn, 0, 0));
* 创建边框面板S return jp;
* @return JPanel对象 }
*/
public static JPanel createBorderLayout_S_Pane() { /**
JPanel jp = new JPanel(); * 创建边框面板L
jp.setLayout(FRGUIPaneFactory.createBorderLayout()); *
return jp; * @return JPanel对象
} */
public static JPanel createBorderLayout_L_Pane() {
/** JPanel jp = new JPanel();
* 创建卡片式布局 jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
* @return JPanel对象 jp.setLayout(FRGUIPaneFactory.createBorderLayout());
*/ return jp;
public static JPanel createCardLayout_S_Pane() { }
JPanel jp = new JPanel();
jp.setLayout(new CardLayout()); /**
return jp; * 创建边框面板M
} *
* @return JPanel对象
/** */
* 创建图标IconRadio面板 public static JPanel createBorderLayout_M_Pane() {
* @param icon 图标 JPanel jp = new JPanel();
* @param jradiobtn 按钮 jp.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
* @return JPanel对象 jp.setLayout(FRGUIPaneFactory.createM_BorderLayout());
*/ return jp;
public static JPanel createIconRadio_S_Pane(Icon icon, }
JRadioButton jradiobtn) {
jradiobtn.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 0)); /**
jradiobtn.setBackground(new Color(255, 255, 255)); * 创建边框面板S
JPanel iconRadioPane = new JPanel(); *
iconRadioPane.setLayout(new BoxLayout(iconRadioPane, BoxLayout.X_AXIS)); * @return JPanel对象
*/
iconRadioPane.add(new UILabel(icon)); public static JPanel createBorderLayout_S_Pane() {
iconRadioPane.add(jradiobtn); JPanel jp = new JPanel();
jp.setLayout(FRGUIPaneFactory.createBorderLayout());
return iconRadioPane; return jp;
} }
/** /**
* 计算宽度 * 创建卡片式布局
* @param width 宽度输入值 *
* @return w 宽度输出值 * @return JPanel对象
*/ */
public static int caculateWidth(int width) { public static JPanel createCardLayout_S_Pane() {
int w = 0; JPanel jp = new JPanel();
float m = (width + WIDTH_OFFSET_M) / WIDTH_PARA_F; jp.setLayout(new CardLayout());
float n = (width + WIDTH_OFFSET_N) / WIDTH_PARA_F; return jp;
float i = Math.abs((((int) m + (int) (m + 1)) / WIDTHABS_PARA_F) - m); }
float j = Math.abs((((int) n + (int) (n + 1)) / WIDTHABS_PARA_F) - n);
float x = i > j ? i : j; /**
if (x == i) { * 创建图标IconRadio面板
w = Math.round(m) * WIDTH_PARA_INT - WIDTH_OFFSET_M; *
} else if (x == j) { * @param icon 图标
w = Math.round(n) * WIDTH_PARA_INT - WIDTH_OFFSET_N; * @param jradiobtn 按钮
} * @return JPanel对象
return w; */
} public static JPanel createIconRadio_S_Pane(Icon icon,
JRadioButton jradiobtn) {
/** jradiobtn.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 0));
* 计算高度 jradiobtn.setBackground(new Color(255, 255, 255));
* @param height 高度输入值 JPanel iconRadioPane = new JPanel();
* @return 高度输出值 iconRadioPane.setLayout(new BoxLayout(iconRadioPane, BoxLayout.X_AXIS));
*/
public static int caculateHeight(int height) { iconRadioPane.add(new UILabel(icon));
int h = 0; iconRadioPane.add(jradiobtn);
float x = (height + HEIGHT_OFFSET) / HEIGHT_PARA;
h = ((int) x + 1) * HEIGHT_PARA; return iconRadioPane;
return h; }
}
/**
* 计算宽度
*
* @param width 宽度输入值
* @return w 宽度输出值
*/
public static int caculateWidth(int width) {
int w = 0;
float m = (width + WIDTH_OFFSET_M) / WIDTH_PARA_F;
float n = (width + WIDTH_OFFSET_N) / WIDTH_PARA_F;
float i = Math.abs((((int) m + (int) (m + 1)) / WIDTHABS_PARA_F) - m);
float j = Math.abs((((int) n + (int) (n + 1)) / WIDTHABS_PARA_F) - n);
float x = i > j ? i : j;
if (x == i) {
w = Math.round(m) * WIDTH_PARA_INT - WIDTH_OFFSET_M;
} else if (x == j) {
w = Math.round(n) * WIDTH_PARA_INT - WIDTH_OFFSET_N;
}
return w;
}
/**
* 计算高度
*
* @param height 高度输入值
* @return 高度输出值
*/
public static int caculateHeight(int height) {
int h = 0;
float x = (height + HEIGHT_OFFSET) / HEIGHT_PARA;
h = ((int) x + 1) * HEIGHT_PARA;
return h;
}
} }

1
designer_base/src/com/fr/design/locale/designer.properties

@ -2116,5 +2116,6 @@ FR-Designer_Widget_Error_Tip=error tip
FR-Designer_Widget_Return_Leaf=return leaf FR-Designer_Widget_Return_Leaf=return leaf
FR-Designer_Widget_Return_Path=return path FR-Designer_Widget_Return_Path=return path
FR-Designer_Widget_Display_Position=Display Position FR-Designer_Widget_Display_Position=Display Position
FR-Designer_Size_Limit=Size_Limit
FR-Designer_Widget_Name=Widget Name FR-Designer_Widget_Name=Widget Name
FR-Designer_Coords_And_Size=Coords & Size FR-Designer_Coords_And_Size=Coords & Size

1
designer_base/src/com/fr/design/locale/designer_en_US.properties

@ -2112,5 +2112,6 @@ FR-Designer_Widget_Error_Tip=error tip
FR-Designer_Widget_Return_Leaf=return leaf FR-Designer_Widget_Return_Leaf=return leaf
FR-Designer_Widget_Return_Path=return path FR-Designer_Widget_Return_Path=return path
FR-Designer_Widget_Display_Position=Display Position FR-Designer_Widget_Display_Position=Display Position
FR-Designer_Size_Limit=Size_Limit
FR-Designer_Widget_Name=Widget Name FR-Designer_Widget_Name=Widget Name
FR-Designer_Coords_And_Size=Coords & Size FR-Designer_Coords_And_Size=Coords & Size

1
designer_base/src/com/fr/design/locale/designer_ja_JP.properties

@ -2115,5 +2115,6 @@ FR-Designer_Widget_Error_Tip=
FR-Designer_Widget_Return_Leaf= FR-Designer_Widget_Return_Leaf=
FR-Designer_Widget_Return_Path= FR-Designer_Widget_Return_Path=
FR-Designer_Widget_Display_Position= FR-Designer_Widget_Display_Position=
FR-Designer_Size_Limit=
FR-Designer_Widget_Name= FR-Designer_Widget_Name=
FR-Designer_Coords_And_Size= FR-Designer_Coords_And_Size=

1
designer_base/src/com/fr/design/locale/designer_ko_KR.properties

@ -2115,5 +2115,6 @@ FR-Designer_Widget_Error_Tip=
FR-Designer_Widget_Return_Leaf= FR-Designer_Widget_Return_Leaf=
FR-Designer_Widget_Return_Path= FR-Designer_Widget_Return_Path=
FR-Designer_Widget_Display_Position= FR-Designer_Widget_Display_Position=
FR-Designer_Size_Limit=
FR-Designer_Widget_Name= FR-Designer_Widget_Name=
FR-Designer_Coords_And_Size= FR-Designer_Coords_And_Size=

1
designer_base/src/com/fr/design/locale/designer_zh_CN.properties

@ -2123,5 +2123,6 @@ FR-Designer_Widget_Error_Tip=\u9519\u8BEF\u63D0\u793A
FR-Designer_Widget_Return_Leaf=\u7ED3\u679C\u8FD4\u56DE\u53F6\u5B50\u8282\u70B9 FR-Designer_Widget_Return_Leaf=\u7ED3\u679C\u8FD4\u56DE\u53F6\u5B50\u8282\u70B9
FR-Designer_Widget_Return_Path=\u7ED3\u679C\u8FD4\u56DE\u5B8C\u6574\u5C42\u6B21\u8DEF\u5F84 FR-Designer_Widget_Return_Path=\u7ED3\u679C\u8FD4\u56DE\u5B8C\u6574\u5C42\u6B21\u8DEF\u5F84
FR-Designer_Widget_Display_Position=\u663E\u793A\u4F4D\u7F6E FR-Designer_Widget_Display_Position=\u663E\u793A\u4F4D\u7F6E
FR-Designer_Size_Limit=\u5927\u5C0F\u9650\u5236
FR-Designer_Widget_Name=\u63A7\u4EF6\u540D\u79F0 FR-Designer_Widget_Name=\u63A7\u4EF6\u540D\u79F0
FR-Designer_Coords_And_Size=\u5750\u6807\u00B7\u5C3A\u5BF8 FR-Designer_Coords_And_Size=\u5750\u6807\u00B7\u5C3A\u5BF8

1
designer_base/src/com/fr/design/locale/designer_zh_TW.properties

@ -2115,5 +2115,6 @@ FR-Designer_Widget_Error_Tip=
FR-Designer_Widget_Return_Leaf= FR-Designer_Widget_Return_Leaf=
FR-Designer_Widget_Return_Path= FR-Designer_Widget_Return_Path=
FR-Designer_Widget_Display_Position= FR-Designer_Widget_Display_Position=
FR-Designer_Size_Limit=
FR-Designer_Widget_Name= FR-Designer_Widget_Name=
FR-Designer_Coords_And_Size= FR-Designer_Coords_And_Size=
Loading…
Cancel
Save