@ -10,6 +10,7 @@ import com.fr.design.gui.ispinner.UIBasicSpinner;
import com.fr.design.gui.itextfield.UINumberField ;
import com.fr.design.gui.itextfield.UINumberField ;
import com.fr.design.layout.FRGUIPaneFactory ;
import com.fr.design.layout.FRGUIPaneFactory ;
import com.fr.design.utils.gui.GUICoreUtils ;
import com.fr.design.utils.gui.GUICoreUtils ;
import com.fr.general.GeneralUtils ;
import com.fr.stable.AssistUtils ;
import com.fr.stable.AssistUtils ;
import com.fr.stable.StringUtils ;
import com.fr.stable.StringUtils ;
@ -27,6 +28,7 @@ import java.math.BigDecimal;
* For input Number .
* For input Number .
* /
* /
public abstract class UnitInputPane extends BasicPane {
public abstract class UnitInputPane extends BasicPane {
private static final double MAX_NUM = 3000 . 0D ;
private static final double NUM_POINT = 0 . 000001 ;
private static final double NUM_POINT = 0 . 000001 ;
private int scale = - 1 ;
private int scale = - 1 ;
String title ;
String title ;
@ -46,7 +48,7 @@ public abstract class UnitInputPane extends BasicPane {
centerPane . add ( titleLabel ) ;
centerPane . add ( titleLabel ) ;
// Denny:在对话框中加入JSpinner对象
// Denny:在对话框中加入JSpinner对象
numberFieldSpinner = new UIBasicSpinner ( new SpinnerNumberModel ( 0 , 0 , 999 , 1 ) ) ;
numberFieldSpinner = new UIBasicSpinner ( new SpinnerNumberModel ( 0 , 0 , MAX_NUM , 1 ) ) ;
GUICoreUtils . setColumnForSpinner ( numberFieldSpinner , 24 ) ;
GUICoreUtils . setColumnForSpinner ( numberFieldSpinner , 24 ) ;
numberFieldSpinner . setPreferredSize ( new Dimension ( 60 , 20 ) ) ;
numberFieldSpinner . setPreferredSize ( new Dimension ( 60 , 20 ) ) ;
numberFieldSpinner . setMinimumSize ( new Dimension ( 60 , 20 ) ) ;
numberFieldSpinner . setMinimumSize ( new Dimension ( 60 , 20 ) ) ;
@ -71,11 +73,11 @@ public abstract class UnitInputPane extends BasicPane {
public void populate ( float floatValue ) {
public void populate ( float floatValue ) {
popValue = floatValue ;
popValue = floatValue ;
numberFieldSpinner . setModel ( new SpinnerNumberModel ( 0 . 00 , 0 . 00 , 999 . 00 , 0 . 01 ) ) ;
numberFieldSpinner . setModel ( new SpinnerNumberModel ( 0 . 00 , 0 . 00 , MAX_NUM , 0 . 01 ) ) ;
JFormattedTextField temp = GUICoreUtils . getSpinnerTextField ( numberFieldSpinner ) ;
JFormattedTextField temp = GUICoreUtils . getSpinnerTextField ( numberFieldSpinner ) ;
addChangeListener ( temp ) ;
addChangeListener ( temp ) ;
BigDecimal de = new BigDecimal ( floatValue + "" ) ;
BigDecimal de = new BigDecimal ( GeneralUtils . objectToString ( floatValue ) ) ;
if ( scale > 0 ) {
if ( scale > 0 ) {
floatValue = de . setScale ( scale , BigDecimal . ROUND_DOWN ) . floatValue ( ) ;
floatValue = de . setScale ( scale , BigDecimal . ROUND_DOWN ) . floatValue ( ) ;
} else {
} else {
@ -108,7 +110,8 @@ public abstract class UnitInputPane extends BasicPane {
if ( temp . getText ( ) . length ( ) = = 0 ) {
if ( temp . getText ( ) . length ( ) = = 0 ) {
return 0 ;
return 0 ;
}
}
BigDecimal de = new BigDecimal ( temp . getText ( ) ) ;
BigDecimal de = new BigDecimal ( GeneralUtils . objectToString ( temp . getValue ( ) ) ) ;
if ( scale > 0 ) {
if ( scale > 0 ) {
return de . setScale ( scale , BigDecimal . ROUND_DOWN ) . floatValue ( ) ;
return de . setScale ( scale , BigDecimal . ROUND_DOWN ) . floatValue ( ) ;
} else {
} else {