首页
学习
活动
专区
工具
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()方法使用正则表达式来检查用户输入的字符是否为小写字母或数字。如果不符合要求,我们将文本框的值重置为旧值,以确保只接受符合要求的字符。

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

相关搜索:如何在数据集中找到重复的名称并将它们放在单独的列中?在管道中使用extract :选择数字并将它们放入单独的变量中如何创建只接受数字和字符".“的字符串。在c中?如何分隔多个分隔值并将它们存储到单独的变量中?如何在雪花中拆分数据并将它们放在各自的列中如何从firebase中检索键和值并将它们存储在两个单独的变量中如何分解由冒号和分号分隔的文件,并将每个元素放在单独的行/行上?如何从href中获取原始大小的图像(高度和宽度),并将它们放在属性上。使用jqueryProlog,将1到0和0到1进行交换并将它们放在列表中的谓词输入数字A和B,并将它们相加,因为A在Python中具有预定义的限制如何重新排列单独的数据帧并将它们连接到单个摘要数据帧中?在Java语言中,如何用循环将句子分成单独的单词,并将它们单独发送到ArrayList中?如何在bash中加载文件和所有结果放在单独的文件中?如何组合两个不同类型的数组并将它们放在一个列表中如何修复python类型只接受DateTime中的datetime和date对象作为输入?如何从一个列中提取链接和用户,并将它们放在另一个列中?如何找到文件中的行数和不同的元素,并将它们写入header,Scala如何将多个JSON对象合并为一个,并将它们的值放在工具提示中如何在SQL中计算不同的行,并将它们全部放在同一个表中?如何接受由逗号分隔的两部分用户输入,并将它们放入不同的列表中
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Python练习题(二)

    # 1.字符串最后一个单词的长度 题目描述:计算字符串最后一个单词的长度,单词以空格隔开。 输入描述: 一行字符串,非空,长度小于5000。 输出描述: 整数N,最后一个单词的长度。 示例1:     输入:hello world     输出:5 # 2. 计算字符个数 题目描述: 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述:输出输入字符串中含有该字符的个数。 示例1:     输入:ABCDEF A     输出:1 # 3. 简单密码破解 题目描述:密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。 假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。 他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换, 声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。 输入描述:输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾; 输出描述:输出渊子真正的密文 示例1:     输入:YUANzhi1987     输出:zvbo9441987 # 4. (2017-腾讯-在线编程题) - 题目描述: 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输 入值小于1000。 如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7)) - 输入描述: 输入包括一个整数n,(3 ≤ n < 1000) - 输出描述: 输出对数 - 示例1 : ``` 输入:     10 输出:     2 ``` 5. ATM程序

    02

    密码破解那些事

    最近恰巧刚好搞到一批hash,所以就寻思着,要不顺手小结一点关于hash破解的东西吧,反正经常要用,就当留备忘了,顺便也分享给大家,主要还是希望大家都能在实际渗透中能尽快上手用,既是这样,就肯定不会涉及太深,比如,其内部的破解算法具体是如何实现的等等…,我们都不会去深入剖析,毕竟,并不是为了去写此类工具,如果真的有兴趣,可自行去读源码[起码自己暂时还没那能力],经常渗透的朋友可能都非常清楚,由于各种各样的途径,我们经常会搞到各种各样的散列[hash],比如,各类web管理用户的密码hash,各类系统用户的密码hash,各种第三方服务器工具配置文件中的hash,各类办公套件文件启动密码的加密hash,等等……今天,我们就来简要说明一下关于各类hash破解工具的使用,以备不时之需……其实,明眼人都很清楚,hash破解的本质是没啥实际的技术含量的[前提你不自己写此类工具],还是那句话,主要目的还是希望大家能尽快上手,既然是好东西就要想办法把它应用到实际干活儿中,不然,意义何在呢...废话少说,咱们开始介绍今天的第一款hash破解工具,'hashcat'想必该工具早已家喻户晓 [关于hash破解的东西,后续我会做成一个单独的系列],希望大家能持续关注,你们的支持,会是自己努力创作的源泉,嘿嘿……

    00

    上升下降字符串

    题目挺长的,其实就是普通的字符串的操作,并且由于题目中说明了是纯小写字母,也就是总量是确定的,那么就可以不使用排序去统计数量,之后的操作正好也是顺序遍历与逆序遍历即可完成的操作,拼接字符串返回即可。首先定义一个纯对象作为哈希表来记录字符串每种字符的个数,之后定义小写字符的基准数值a的ASCII码值,之后构建一个26个小写字母的循环,将初始哈希表的键对应的值定义为0,循环字符串,将统计相应字母出现的次数,定义目标字符串,如果目标字符串与给定的字符串长度相等则退出循环,之后定义一个26字母正向循环,如果在哈希表中这个字母的值大于0则将其拼接到目标字符串并将该值减1,之后定义一个26字母的逆向循环,按照同样的规则将字符拼接,之后完成循环并返回目标字符串即可。

    01
    领券