//file: NumericField.java
package magicbeans;
import javax.swing.JTextField;
import java.awt.event.*;
import java.beans.*;
public class NumericField extends JTextField
implements ActionListener {
private double value;
public NumericField( ) {
super(6);
addActionListener( this );
}
public void actionPerformed( ActionEvent e ) {
try {
setValue( Double.parseDouble( getText( ) ) );
} catch ( NumberFormatException ex ) {
select(0, getText().length( ));
}
}
public double getValue( ) {
return value;
}
public void setValue( double newValue ) {
double oldValue = value;
value = newValue;
setText( "" + newValue );
firePropertyChange( "value", oldValue, newValue );
}
}
|