private void setupPropertyView() {
		this.propKey = new Label(this.prop.getKey());
		//set the font, if it is an object type (has sub properties) then make it bold like a header.
		if(this.prop.getPropertyType() == TiProperty.PROPERTY_TYPE_OBJECT) {
			this.propKey.setFont(Font.font("Arial", FontWeight.BOLD, 14));
		} else {
			this.propKey.setFont(Font.font("Arial", FontWeight.NORMAL, 14));
		}
		
		this.field = new TextField(this.prop.getValue());
		field.setPrefWidth(250);
		
		field.textProperty().addListener(new ChangeListener<String>() {
			@Override
			public void changed(ObservableValue<? extends String> arg0, String oldValue, String newValue) {
				
				TiPropertyView.this.prop.setValue(newValue);
			}
		});
		
		field.setOnKeyPressed( new EventHandler<KeyEvent>() {

			@Override
			public void handle(KeyEvent event) {
				if(prop.getPropertyType() == TiProperty.PROPERTY_TYPE_NORMAL) {
					if(event.getCode() == KeyCode.UP) {
						this.incrOrDecr(true);
					} else if(event.getCode() == KeyCode.DOWN) {
						this.incrOrDecr(false);
					}
				}
			}
			
			public void incrOrDecr(boolean incr) {
				TiPropertyView that = TiPropertyView.this;
				TiProperty prop = TiPropertyView.this.prop;
				
				try {
					Matcher match = that.ints.matcher(prop.getValue());
					match.find();
					
					if(match.group().length() > 0) {
						int newDigit = Integer.parseInt(match.group());
						if(incr) {
							newDigit += 1; 
						} else {
							newDigit -= 1;
						}
						String newValue = prop.getValue().replace(match.group(), String.valueOf(newDigit));
						prop.setValue(newValue);
						field.setText(prop.getValue());									
					}
					
				} catch(NumberFormatException e) {
//					System.out.println("Can't use arrows on non-numeric fields");
				} catch(IllegalStateException e) {
//					System.out.println("Can't use arrows on non-numeric fields");
					
				}
			}
		});
	}