From 733f7c538bc65c67b8c3e332ca485d1308841ed9 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Wed, 4 Jul 2018 14:28:50 +0800 Subject: [PATCH 1/2] REPORT-9267 REPORT-9391 --- .../design/gui/itextfield/UINumberField.java | 3 +- .../component/NumberEditorValidatePane.java | 28 +++---------------- .../com/fr/design/present/PresentPane.java | 24 ++++++++++------ 3 files changed, 21 insertions(+), 34 deletions(-) diff --git a/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java b/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java index 42114acbc..d5b06509e 100644 --- a/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java +++ b/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java @@ -106,7 +106,8 @@ public class UINumberField extends UITextField { */ public double getValue() throws NumberFormatException { try { - if (this.getText().length() == 0) { + //如果只输入了负号应该解释为0,而不是Double最大值 + if (this.getText().length() == 0 || "-".equals(this.getText())) { return 0; } diff --git a/designer-base/src/com/fr/design/widget/component/NumberEditorValidatePane.java b/designer-base/src/com/fr/design/widget/component/NumberEditorValidatePane.java index feaaf67dc..a5923a9f1 100644 --- a/designer-base/src/com/fr/design/widget/component/NumberEditorValidatePane.java +++ b/designer-base/src/com/fr/design/widget/component/NumberEditorValidatePane.java @@ -188,11 +188,11 @@ public class NumberEditorValidatePane extends JPanel { @Override public void stateChanged(ChangeEvent e) { - if (setMaxValueCheckBox.isSelected()) { + if (setMinValueCheckBox.isSelected()) { if (maxValueSpinner.getValue() >= minValueSpinner.getValue()) { minValueSpinner.getTextField().setMaxValue(Double.parseDouble("" + maxValueSpinner.getValue())); } else { - maxValueSpinner.setValue(minValueSpinner.getValue()); + minValueSpinner.setValue(maxValueSpinner.getValue()); } } } @@ -202,11 +202,11 @@ public class NumberEditorValidatePane extends JPanel { @Override public void stateChanged(ChangeEvent e) { - if (setMinValueCheckBox.isSelected()) { + if (setMaxValueCheckBox.isSelected()) { if (minValueSpinner.getValue() <= maxValueSpinner.getValue()) { maxValueSpinner.getTextField().setMinValue(Double.parseDouble("" + minValueSpinner.getValue())); } else { - minValueSpinner.setValue(maxValueSpinner.getValue()); + maxValueSpinner.setValue(minValueSpinner.getValue()); } } } @@ -258,27 +258,7 @@ public class NumberEditorValidatePane extends JPanel { } ob.setAllowNegative(allowNegativeCheckBox.isSelected()); - if (setMaxValueCheckBox.isSelected()) { - if (maxValueSpinner.getValue() < maxValueSpinner.getTextField().getMinValue()) { - ob.setMaxValue(Double.parseDouble(StringUtils.EMPTY + maxValueSpinner.getTextField().getMinValue())); - maxValueSpinner.getTextField().setValue(maxValueSpinner.getTextField().getMaxValue()); - } else { - ob.setMaxValue(Double.parseDouble(StringUtils.EMPTY + maxValueSpinner.getValue())); - } - } else { - ob.setMaxValue(Double.MAX_VALUE); - } - if (setMinValueCheckBox.isSelected()) { - if (minValueSpinner.getValue() > minValueSpinner.getTextField().getMaxValue()) { - ob.setMinValue(Double.parseDouble(StringUtils.EMPTY + minValueSpinner.getTextField().getMaxValue())); - minValueSpinner.getTextField().setValue(minValueSpinner.getTextField().getMaxValue()); - } else { - ob.setMinValue(Double.parseDouble(StringUtils.EMPTY + minValueSpinner.getValue())); - } - } else { - ob.setMinValue(-Double.MAX_VALUE); - } if(setMinValueCheckBox.isSelected() || setMaxValueCheckBox.isSelected()){ errorMsgTextFieldPane.setVisible(true); }else{ diff --git a/designer-realize/src/com/fr/design/present/PresentPane.java b/designer-realize/src/com/fr/design/present/PresentPane.java index f7b74d69a..3e1fd65e3 100644 --- a/designer-realize/src/com/fr/design/present/PresentPane.java +++ b/designer-realize/src/com/fr/design/present/PresentPane.java @@ -25,6 +25,9 @@ import java.util.Set; */ public class PresentPane extends UIComboBoxPane { private DictPresentPane dictPresentPane; + private FormulaPresentPane formulaPresentPane; + private BarCodePane barCodePane; + private CurrencyLinePane currencyLinePane; private List keys; private List displays; @@ -51,6 +54,9 @@ public class PresentPane extends UIComboBoxPane { public void populateBean(Present ob) { if(ob == null) { dictPresentPane.reset(); + formulaPresentPane.reset(); + barCodePane.reset(); + currencyLinePane.reset(); } super.populateBean(ob); } @@ -74,20 +80,20 @@ public class PresentPane extends UIComboBoxPane { keys.add(DictPresent.class.getName()); displays.add(dictPresentPane.title4PopupWindow()); - FurtherBasicBeanPane bar = new BarCodePane(); - paneList.add(bar); + barCodePane = new BarCodePane(); + paneList.add(barCodePane); keys.add(BarcodePresent.class.getName()); - displays.add(bar.title4PopupWindow()); + displays.add(barCodePane.title4PopupWindow()); - FurtherBasicBeanPane formula = new FormulaPresentPane(); - paneList.add(formula); + formulaPresentPane = new FormulaPresentPane(); + paneList.add(formulaPresentPane); keys.add(FormulaPresent.class.getName()); - displays.add(formula.title4PopupWindow()); + displays.add(formulaPresentPane.title4PopupWindow()); - FurtherBasicBeanPane currency = new CurrencyLinePane(); - paneList.add(currency); + currencyLinePane = new CurrencyLinePane(); + paneList.add(currencyLinePane); keys.add(CurrencyLinePresent.class.getName()); - displays.add(currency.title4PopupWindow()); + displays.add(currencyLinePane.title4PopupWindow()); Set providers = ExtraDesignClassManager.getInstance().getArray(PresentKindProvider.MARK_STRING); for (PresentKindProvider provider : providers) { From b3d1faf7e3d25f56a309cf88bdbeeb580b4215f4 Mon Sep 17 00:00:00 2001 From: "Mata.Li" Date: Wed, 4 Jul 2018 14:43:14 +0800 Subject: [PATCH 2/2] REPORT-9267 REPORT-9391 --- .../src/com/fr/design/gui/itextfield/UINumberField.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java b/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java index d5b06509e..1ffb3c1dd 100644 --- a/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java +++ b/designer-base/src/com/fr/design/gui/itextfield/UINumberField.java @@ -16,7 +16,7 @@ import java.awt.*; * Number Field. */ public class UINumberField extends UITextField { - public static final double ERROR_VALUE = Double.MAX_VALUE + 4.44; // peter:错误的值. + public static final double ERROR_VALUE = 0; // peter:错误的值. mata:如果输入负号之类直接走ERROR_VALUE public static final int MAX_INTEGERLENGTH = 24; public static final int MAX_INTEGERLENGTH_32 = 32; public static final int MAX_DECIMALLENGTH = 16; @@ -106,8 +106,8 @@ public class UINumberField extends UITextField { */ public double getValue() throws NumberFormatException { try { - //如果只输入了负号应该解释为0,而不是Double最大值 - if (this.getText().length() == 0 || "-".equals(this.getText())) { + + if (StringUtils.isEmpty(this.getText())) { return 0; }