public void propertyChange(PropertyChangeEvent evt) {
    
    Object source = evt.getSource();
    
    if (source instanceof JFormattedTextField
	&& evt.getPropertyName().equals("value")
	&& (((JFormattedTextField) evt.getSource()).getValue() != null)) {
      
      Number newValue = null;
      
      Number value = m_Node.getValue();
      
      JFormattedTextField field = (JFormattedTextField) evt.getSource();
      
      Number fieldValue = (Number) field.getValue();
      
      if (value instanceof Double)
	newValue = new Double(NumberNode.roundDouble((fieldValue.doubleValue())));
      else if (value instanceof Integer)
	newValue = new Integer((fieldValue).intValue());
      else if (value instanceof Float)
	newValue = new Float(NumberNode.roundFloat((fieldValue.floatValue())));
      else if (value instanceof Long)
	newValue = new Long((fieldValue).longValue());
      else {
	try {
	  throw new NumberClassNotFoundException(value.getClass()
	      + " not currently supported.");
	} catch (NumberClassNotFoundException e) {
	  e.printStackTrace();
	}
      }
      
      field.setValue(newValue);
      
      m_Node.setValue(newValue);
    }
  }