首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何只接受小写字母和数字,并将它们放在单独的TextFields中?

要实现只接受小写字母和数字,并将它们放在单独的TextFields中,可以按照以下步骤进行:

  1. 创建一个文本输入框(TextField)用于接收用户输入。
  2. 添加一个文本变化监听器(TextWatcher)来监听用户输入的变化。
  3. 在文本变化监听器中,获取用户输入的文本,并进行过滤。
  4. 使用正则表达式来检查用户输入的字符是否为小写字母或数字。
  5. 如果用户输入的字符符合要求,则将其添加到相应的TextField中。
  6. 如果用户输入的字符不符合要求,则忽略该字符或给出错误提示。
  7. 可以为每个TextField设置最大长度限制,以防止输入过长的字符。

以下是一个示例代码,演示了如何实现上述功能:

代码语言:txt
复制
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;

import java.util.regex.Pattern;

public class Main extends Application {

    private static final Pattern VALID_PATTERN = Pattern.compile("[a-z0-9]*");

    @Override
    public void start(Stage primaryStage) {
        GridPane gridPane = new GridPane();
        gridPane.setPadding(new Insets(10));
        gridPane.setHgap(10);

        TextField lowercaseTextField = new TextField();
        TextField digitTextField = new TextField();

        lowercaseTextField.setPromptText("Only lowercase letters");
        digitTextField.setPromptText("Only digits");

        lowercaseTextField.textProperty().addListener((observable, oldValue, newValue) -> {
            if (!isValidInput(newValue)) {
                lowercaseTextField.setText(oldValue);
            }
        });

        digitTextField.textProperty().addListener((observable, oldValue, newValue) -> {
            if (!isValidInput(newValue)) {
                digitTextField.setText(oldValue);
            }
        });

        gridPane.add(lowercaseTextField, 0, 0);
        gridPane.add(digitTextField, 0, 1);

        Scene scene = new Scene(gridPane, 200, 100);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    private boolean isValidInput(String input) {
        return VALID_PATTERN.matcher(input).matches();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在上述示例代码中,我们创建了两个TextField,分别用于接收小写字母和数字。通过添加文本变化监听器,我们可以在用户输入时进行过滤。isValidInput()方法使用正则表达式来检查用户输入的字符是否为小写字母或数字。如果不符合要求,我们将文本框的值重置为旧值,以确保只接受符合要求的字符。

这只是一个简单的示例,你可以根据实际需求进行扩展和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券