javafx TextField限制输入的字符串
时间: 2024-10-23 13:09:41 浏览: 26
JavaFX CSS Reference Guide
JavaFX中的TextField组件允许你设置一些文本验证规则,包括限制用户输入的字符串类型。你可以通过`setPromptText()`方法设置输入提示,然后使用事件监听`textProperty()`来检查输入并采取相应的行动。例如,你可以创建一个正则表达式Pattern来匹配特定格式,并利用`isMatch()`方法判断是否符合。
下面是一个简单的例子,展示了如何限制TextField只接受数字:
```java
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class InputLimitExample extends Application {
@Override
public void start(Stage primaryStage) {
TextField textField = new TextField();
textField.setPromptText("请输入数字");
// 使用正则表达式验证输入
textField.textProperty().addListener((obs, oldVal, newVal) -> {
if (!newVal.matches("\\d*")) { // 只允许整数或小数点
textField.setText(oldVal); // 如果输入不符合,恢复到旧值
}
});
StackPane root = new StackPane(textField);
Scene scene = new Scene(root, 400, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
```
阅读全文