code: public void setProperty(String key, String val) {
  
  	ArrayList list  = null;
  	Object oldValue = null;
  
  	oldValue = getProperty(key);
  
  	appProps.setProperty(key, val);
  	if (listeners.containsKey(key)) {
  	  list = (ArrayList)listeners.get(key);
  	  int len = list.size();
  	  if (len > 0) {
  		PropertyChangeEvent evt = new PropertyChangeEvent(this, key, oldValue, val);
            for (Object aList : list) {
                if (aList instanceof PropertyChangeListener)
                    ((PropertyChangeListener) aList).propertyChange(evt);
            }
  	  }
  	}
  
    }
docs: Sets Application/User String properties; default property values cannot be set.