Как сделать ввод только чисел от 0 до 100 в TextField? - Java
Формулировка задачи:
Хотел сделать так:
Если первая цифра от 2-9, то устанавливается ограничение поля на 2 символа, если первая цифра 1, устанавливается ограничение на 3. Вот как установить ограничение, не смог узнать, кроме метода substring (0,3). В его случае, выходит ошибка.
Help!
Решение задачи: «Как сделать ввод только чисел от 0 до 100 в TextField?»
textual
Листинг программы
package ru.cyberforum.reisal78;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class MainApp extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
TextField textField = new TextField();
textField.textProperty().addListener(
(observable, oldValue, newValue) -> {
if (newValue.matches("[0-9]+$")) {
int number = Integer.parseInt(newValue);
if (number < 200) {
return;
}
textField.setText(oldValue);
}
});
AnchorPane anchorPane = new AnchorPane(textField);
anchorPane.setPrefSize(300, 300);
Scene scene = new Scene(anchorPane);
primaryStage.setScene(scene);
primaryStage.show();
}
}