Browse Source

REPORT-56906 由于UIIntNumberField被引用的地方太多了,所以还原这个类的重命名

feature/10.0
方磊 3 years ago
parent
commit
6ed7588b7b
  1. 4
      designer-base/src/main/java/com/fr/design/gui/ispinner/UnsignedIntUISpinner.java
  2. 66
      designer-base/src/main/java/com/fr/design/gui/itextfield/UIIntNumberField.java
  3. 76
      designer-base/src/main/java/com/fr/design/gui/itextfield/UIPositiveAndNegativeIntNumberField.java
  4. 61
      designer-base/src/main/java/com/fr/design/gui/itextfield/UIPositiveIntNumberField.java
  5. 4
      designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileCollapsedStyleExpandPane.java
  6. 6
      designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormMultiWidgetCardPane.java
  7. 4
      designer-realize/src/main/java/com/fr/design/report/freeze/RowSpinner.java
  8. 4
      designer-realize/src/main/java/com/fr/design/webattr/printsettings/GlobalNativePrintSettingPane.java

4
designer-base/src/main/java/com/fr/design/gui/ispinner/UnsignedIntUISpinner.java

@ -1,6 +1,6 @@
package com.fr.design.gui.ispinner; package com.fr.design.gui.ispinner;
import com.fr.design.gui.itextfield.UIPositiveIntNumberField; import com.fr.design.gui.itextfield.UIIntNumberField;
import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.gui.itextfield.UINumberField;
@ -29,7 +29,7 @@ public class UnsignedIntUISpinner extends UISpinner {
@Override @Override
protected UINumberField initNumberField() { protected UINumberField initNumberField() {
return new UIPositiveIntNumberField() { return new UIIntNumberField() {
public boolean shouldResponseChangeListener() { public boolean shouldResponseChangeListener() {
return false; return false;
} }

66
designer-base/src/main/java/com/fr/design/gui/itextfield/UIIntNumberField.java

@ -1,32 +1,39 @@
package com.fr.design.gui.itextfield; package com.fr.design.gui.itextfield;
import javax.swing.text.AttributeSet; import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException; import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument; import javax.swing.text.PlainDocument;
import java.awt.Toolkit; import java.awt.Toolkit;
/**
* Created with IntelliJ IDEA.
* User: Lenovo
* Date: 13-3-29
* Time: 下午12:02
* To change this template use File | Settings | File Templates.
* fanglei: 这个类名字虽然叫整数输入框但是里面的业务仅支持输入正整数由于被引用的地方太多无法更改知道就行
*/
public class UIIntNumberField extends UINumberField { public class UIIntNumberField extends UINumberField {
private static final long serialVersionUID = 4946379346015964509L;
public void setFieldDocument() { public void setFieldDocument() {
setDocument(createNumberDocument()); setDocument(createNumberDocument());
} }
public class NumberDocument extends PlainDocument { public class NumberDocument extends PlainDocument {
private static final long serialVersionUID = 1024213269275179172L;
public NumberDocument() { public NumberDocument() {
} }
public boolean checkString(int offset, String s, String str) {
String strNew = str.substring(0, offset) + s + str.substring(offset, getLength());
return isMinusSignOnly(strNew) || (isIntNumber(strNew) && isInputIllegalNumber(strNew) && !isOverMaxOrMinValue(strNew));
}
public void insertString(int offset, String s, AttributeSet a) throws BadLocationException { public void insertString(int offset, String s, AttributeSet a) throws BadLocationException {
String str = getText(0, getLength()); String str = getText(0, getLength());
if (!checkString(offset, s, str)) {
if (!s.matches("^[0-9]+$")) {
Toolkit.getDefaultToolkit().beep();
return;
}
String strNew = str.substring(0, offset) + s + str.substring(offset, getLength());
if (isOverMaxOrMinValue(strNew) && !isContinueInsertWhenOverMaxOrMinValue()) {
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
return; return;
} }
@ -35,42 +42,21 @@ public class UIIntNumberField extends UINumberField {
super.insertString(offset, s, a); super.insertString(offset, s, a);
} }
private boolean isMinusSignOnly(String s) {
return s.contains("-") && s.length() == 1;
}
/** /**
* 输入字符是否是不合法数字 * 是否继续插入输入的字符 - 当超出范围时
* @param s 输入的字符串 *
* @return 是否不合法 * @return true : 继续插入输入的字符
*/ */
private boolean isInputIllegalNumber(String s) { public boolean isContinueInsertWhenOverMaxOrMinValue() {
try { return false;
Integer.parseInt(s);
} catch (Exception e) {
return false;
}
return true;
}
private boolean isIntNumber(String s) {
boolean result = true;
for (int i = 0; i < s.length(); i++) {
String ch = s.charAt(i) + "";
if (!ch.matches("^[0-9\\-]+$")) {
result = false;
}
}
return result;
} }
private boolean isOverMaxOrMinValue(String s) { private boolean isOverMaxOrMinValue( String strNew) {
int value = Integer.parseInt(s); return (Double.parseDouble(strNew)<getMinValue() || Double.parseDouble(strNew)>getMaxValue());
return (value < getMinValue() || value > getMaxValue());
} }
} }
public NumberDocument createNumberDocument() { public NumberDocument createNumberDocument() {
return new NumberDocument(); return new NumberDocument();
} }
} }

76
designer-base/src/main/java/com/fr/design/gui/itextfield/UIPositiveAndNegativeIntNumberField.java

@ -0,0 +1,76 @@
package com.fr.design.gui.itextfield;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import java.awt.Toolkit;
public class UIPositiveAndNegativeIntNumberField extends UINumberField {
private static final long serialVersionUID = 4946379346015964509L;
public void setFieldDocument() {
setDocument(createNumberDocument());
}
public class NumberDocument extends PlainDocument {
private static final long serialVersionUID = 1024213269275179172L;
public NumberDocument() {
}
public boolean checkString(int offset, String s, String str) {
String strNew = str.substring(0, offset) + s + str.substring(offset, getLength());
return isMinusSignOnly(strNew) || (isIntNumber(strNew) && isInputIllegalNumber(strNew) && !isOverMaxOrMinValue(strNew));
}
public void insertString(int offset, String s, AttributeSet a) throws BadLocationException {
String str = getText(0, getLength());
if (!checkString(offset, s, str)) {
Toolkit.getDefaultToolkit().beep();
return;
}
setisContentChanged(true);
super.insertString(offset, s, a);
}
private boolean isMinusSignOnly(String s) {
return s.contains("-") && s.length() == 1;
}
/**
* 输入字符是否是不合法数字
* @param s 输入的字符串
* @return 是否不合法
*/
private boolean isInputIllegalNumber(String s) {
try {
Integer.parseInt(s);
} catch (Exception e) {
return false;
}
return true;
}
private boolean isIntNumber(String s) {
boolean result = true;
for (int i = 0; i < s.length(); i++) {
String ch = s.charAt(i) + "";
if (!ch.matches("^[0-9\\-]+$")) {
result = false;
}
}
return result;
}
private boolean isOverMaxOrMinValue(String s) {
int value = Integer.parseInt(s);
return (value < getMinValue() || value > getMaxValue());
}
}
public NumberDocument createNumberDocument() {
return new NumberDocument();
}
}

61
designer-base/src/main/java/com/fr/design/gui/itextfield/UIPositiveIntNumberField.java

@ -1,61 +0,0 @@
package com.fr.design.gui.itextfield;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.PlainDocument;
import java.awt.Toolkit;
/**
* Created with IntelliJ IDEA.
* User: Lenovo
* Date: 13-3-29
* Time: 下午12:02
* To change this template use File | Settings | File Templates.
*/
public class UIPositiveIntNumberField extends UINumberField {
public void setFieldDocument() {
setDocument(createNumberDocument());
}
public class NumberDocument extends PlainDocument {
public NumberDocument() {
}
public void insertString(int offset, String s, AttributeSet a) throws BadLocationException {
String str = getText(0, getLength());
if (!s.matches("^[0-9]+$")) {
Toolkit.getDefaultToolkit().beep();
return;
}
String strNew = str.substring(0, offset) + s + str.substring(offset, getLength());
if (isOverMaxOrMinValue(strNew) && !isContinueInsertWhenOverMaxOrMinValue()) {
Toolkit.getDefaultToolkit().beep();
return;
}
setisContentChanged(true);
super.insertString(offset, s, a);
}
/**
* 是否继续插入输入的字符 - 当超出范围时
*
* @return true : 继续插入输入的字符
*/
public boolean isContinueInsertWhenOverMaxOrMinValue() {
return false;
}
private boolean isOverMaxOrMinValue( String strNew) {
return (Double.parseDouble(strNew)<getMinValue() || Double.parseDouble(strNew)>getMaxValue());
}
}
public NumberDocument createNumberDocument() {
return new NumberDocument();
}
}

4
designer-base/src/main/java/com/fr/design/mainframe/mobile/ui/MobileCollapsedStyleExpandPane.java

@ -2,7 +2,7 @@ package com.fr.design.mainframe.mobile.ui;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.itextfield.UIPositiveIntNumberField; import com.fr.design.gui.itextfield.UIIntNumberField;
import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.gui.itextfield.UINumberField;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
@ -39,7 +39,7 @@ public class MobileCollapsedStyleExpandPane extends MobileCollapsedStylePane {
this.rowSpinner = new UISpinner(1, Integer.MAX_VALUE, 1, 1) { this.rowSpinner = new UISpinner(1, Integer.MAX_VALUE, 1, 1) {
@Override @Override
protected UINumberField initNumberField(){ protected UINumberField initNumberField(){
return new UIPositiveIntNumberField(); return new UIIntNumberField();
} }
}; };
this.rowSpinner.setPreferredSize(new Dimension(62, COMPONENT_HEIGHT)); this.rowSpinner.setPreferredSize(new Dimension(62, COMPONENT_HEIGHT));

6
designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormMultiWidgetCardPane.java

@ -2,7 +2,7 @@ package com.fr.design.mainframe.widget.ui;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UIIntNumberField; import com.fr.design.gui.itextfield.UIPositiveAndNegativeIntNumberField;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.i18n.Toolkit; import com.fr.design.i18n.Toolkit;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
@ -129,14 +129,14 @@ public class FormMultiWidgetCardPane extends FormWidgetCardPane {
TableLayout.PREFERRED, TableLayout.PREFERRED,
TableLayout.FILL TableLayout.FILL
}; };
UITextField horizontalSpacingNumberField = new UIIntNumberField(); UITextField horizontalSpacingNumberField = new UIPositiveAndNegativeIntNumberField();
horizontalSpacingNumberField.addFocusListener(new FocusAdapter() { horizontalSpacingNumberField.addFocusListener(new FocusAdapter() {
@Override @Override
public void focusLost(FocusEvent e) { public void focusLost(FocusEvent e) {
distributionDoChange(horizontalSpacingNumberField.getText(), false); distributionDoChange(horizontalSpacingNumberField.getText(), false);
} }
}); });
UITextField verticalSpacingNumberField = new UIIntNumberField(); UITextField verticalSpacingNumberField = new UIPositiveAndNegativeIntNumberField();
verticalSpacingNumberField.addFocusListener(new FocusAdapter() { verticalSpacingNumberField.addFocusListener(new FocusAdapter() {
@Override @Override
public void focusLost(FocusEvent e) { public void focusLost(FocusEvent e) {

4
designer-realize/src/main/java/com/fr/design/report/freeze/RowSpinner.java

@ -1,7 +1,7 @@
package com.fr.design.report.freeze; package com.fr.design.report.freeze;
import com.fr.design.gui.ispinner.UISpinner; import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.itextfield.UIPositiveIntNumberField; import com.fr.design.gui.itextfield.UIIntNumberField;
import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.gui.itextfield.UINumberField;
/** /**
@ -25,7 +25,7 @@ public class RowSpinner extends UISpinner {
@Override @Override
protected UINumberField initNumberField(){ protected UINumberField initNumberField(){
return new UIPositiveIntNumberField(); return new UIIntNumberField();
} }

4
designer-realize/src/main/java/com/fr/design/webattr/printsettings/GlobalNativePrintSettingPane.java

@ -3,7 +3,7 @@ package com.fr.design.webattr.printsettings;
import com.fr.base.print.NativePrintAttr; import com.fr.base.print.NativePrintAttr;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UIPositiveIntNumberField; import com.fr.design.gui.itextfield.UIIntNumberField;
import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.gui.itextfield.UINumberField;
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;
@ -89,7 +89,7 @@ public class GlobalNativePrintSettingPane extends AbstractNativePrintSettingPane
} }
private JPanel getPrintPortFieldPane() { private JPanel getPrintPortFieldPane() {
printPortField = new UIPositiveIntNumberField(); printPortField = new UIIntNumberField();
printPortField.setMaxValue(NativePrintAttr.MAX_PRINT_PORT_VALUE); printPortField.setMaxValue(NativePrintAttr.MAX_PRINT_PORT_VALUE);
printPortField.setColumns(PRINT_PORT_FIELD_COLUMNS); printPortField.setColumns(PRINT_PORT_FIELD_COLUMNS);
JPanel panel = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane(); JPanel panel = FRGUIPaneFactory.createNormalFlowInnerContainer_S_Pane();

Loading…
Cancel
Save