45 * @docUrl http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/text.htm#JFXUI734 Using JavaFX Text
46 * @see javafx.scene.control.TextFormatter
47 * @see javafx.scene.control.TextField
48 * @see javafx.scene.control.TextInputControl
49 * @see javafx.util.converter.FormatStringConverter
50 * @playground price (min=0, max=10000)
51 * @embedded
52 *
53 * @related /Controls/Text/Advanced Label
54 * @related /Controls/Text/Bidi
55 * @related /Controls/Text/Inset Text
56 * @related /Controls/Button/Graphic Button
57 * @related /Controls/Text/Search Box
58 * @related /Controls/Text/Simple Label
59 * @related /Controls/Text/Text Field
60 * @related /Controls/Text/TextFlow
61 * @related /Controls/Text/Text Validator
62 */
63 public class TextFormatterApp extends Application{
64
65 private DoubleProperty price = new SimpleDoubleProperty(1200.555);
66
67 public Parent createContent() {
68 final NumberFormat currencyInstance = NumberFormat.getCurrencyInstance();
69 String symbol = currencyInstance.getCurrency().getSymbol();
70 FormatStringConverter<Number> converter =
71 new FormatStringConverter<>(currencyInstance);
72 TextFormatter<Number> formatter = new TextFormatter<>(converter);
73 formatter.valueProperty().bindBidirectional(price);
74 final TextField text = new TextField();
75 text.setTextFormatter(formatter);
76 text.setMaxSize(140, TextField.USE_COMPUTED_SIZE);
77 return text;
78 }
79
80 @Override
81 public void start(Stage primaryStage) throws Exception {
82 primaryStage.setScene(new Scene(createContent()));
83 primaryStage.show();
84 }
85
|
45 * @docUrl http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/text.htm#JFXUI734 Using JavaFX Text
46 * @see javafx.scene.control.TextFormatter
47 * @see javafx.scene.control.TextField
48 * @see javafx.scene.control.TextInputControl
49 * @see javafx.util.converter.FormatStringConverter
50 * @playground price (min=0, max=10000)
51 * @embedded
52 *
53 * @related /Controls/Text/Advanced Label
54 * @related /Controls/Text/Bidi
55 * @related /Controls/Text/Inset Text
56 * @related /Controls/Button/Graphic Button
57 * @related /Controls/Text/Search Box
58 * @related /Controls/Text/Simple Label
59 * @related /Controls/Text/Text Field
60 * @related /Controls/Text/TextFlow
61 * @related /Controls/Text/Text Validator
62 */
63 public class TextFormatterApp extends Application{
64
65 private final DoubleProperty price = new SimpleDoubleProperty(1200.555);
66 public final DoubleProperty priceProperty() {
67 return price;
68 }
69
70 public Parent createContent() {
71 final NumberFormat currencyInstance = NumberFormat.getCurrencyInstance();
72 String symbol = currencyInstance.getCurrency().getSymbol();
73 FormatStringConverter<Number> converter =
74 new FormatStringConverter<>(currencyInstance);
75 TextFormatter<Number> formatter = new TextFormatter<>(converter);
76 formatter.valueProperty().bindBidirectional(price);
77 final TextField text = new TextField();
78 text.setTextFormatter(formatter);
79 text.setMaxSize(140, TextField.USE_COMPUTED_SIZE);
80 return text;
81 }
82
83 @Override
84 public void start(Stage primaryStage) throws Exception {
85 primaryStage.setScene(new Scene(createContent()));
86 primaryStage.show();
87 }
88
|