--- /dev/null
+[[creating-a-textfield-for-integer-only-input-when-not-using-a-data-source]]
+Creating a TextField for integer only input when not using a data source
+------------------------------------------------------------------------
+
+A `TextField` is a component that always has a value of type `String`. By
+adding a converter to a field, the field will automatically validate
+that the entered value can be converted and it will provide the
+converted value using the `getConvertedValue()` method.
+
+[source,java]
+....
+final TextField textField = new TextField("Text field");
+textField.setConverter(Integer.class);
+
+Button submitButton = new Button("Submit value", new ClickListener() {
+ public void buttonClick(ClickEvent event) {
+ String uiValue = textField.getValue();
+ try {
+ Integer convertedValue = (Integer) textField
+ .getConvertedValue();
+ Notification.show(
+ "UI value (String): " + uiValue
+ + "<br />Converted value (Integer): "
+ + convertedValue);
+ } catch (ConversionException e) {
+ Notification.show(
+ "Could not convert value: " + uiValue);
+ }
+ }
+});
+
+addComponent(new Label("Text field type: " + textField.getType()));
+addComponent(new Label("Converted text field type: "
+ + textField.getConverter().getModelType()));
+addComponent(textField);
+addComponent(submitButton);
+....
+
+With this example, entering a number and pressing the button causes the
+value of the `TextField` to be a `String` while the converted value will be
+an `Integer` representing the same value. If e.g. a letter is entered to
+the field and the button is pressed, the validation will fail. This
+causes a notice to be displayed for the field and an exception to be
+thrown from `getConvertedValue()`.