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

JavaFX在TextField上按模式设置输入筛选器

JavaFX是一种用于构建富客户端应用程序的Java库。它提供了丰富的图形化用户界面(GUI)组件和功能,可以用于开发跨平台的桌面应用程序。

在JavaFX中,可以使用输入筛选器来限制用户在TextField上输入的内容。输入筛选器是一个函数,它接受用户输入的文本并返回一个经过筛选后的文本。通过设置输入筛选器,可以实现对用户输入的限制,例如只允许输入数字、限制输入的长度、过滤特殊字符等。

以下是一个示例代码,演示如何在JavaFX的TextField上按模式设置输入筛选器:

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

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) {
        TextField textField = new TextField();
        
        // 设置输入筛选器
        TextFormatter<String> textFormatter = new TextFormatter<>(change -> {
            String newText = change.getControlNewText();
            if (newText.matches("[0-9]*")) {
                return change;
            }
            return null;
        });
        textField.setTextFormatter(textFormatter);
        
        primaryStage.setScene(new Scene(textField, 200, 100));
        primaryStage.show();
    }

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

在上述示例中,我们创建了一个TextField,并通过TextFormatter设置了输入筛选器。输入筛选器使用正则表达式[0-9]*来限制用户只能输入数字。如果用户输入的文本符合筛选条件,则允许输入;否则,将不会有任何变化。

JavaFX提供了丰富的GUI组件和功能,可以用于开发各种类型的桌面应用程序,包括数据录入、图形化编辑器、游戏等。通过使用JavaFX,开发人员可以轻松创建具有良好用户体验的应用程序。

腾讯云提供了云计算相关的产品和服务,其中包括云服务器、云数据库、云存储等。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于腾讯云的产品和服务信息。

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

相关·内容

  • Using JavaFX UI Controls 12 Table View

    很多JavaFX SDK API种的类为在表格表单中呈现数据。在JavaFX 应用中对创建表格最重要的是TableView, TableColumn和TableCell这三个类。...addFirstName.clear(); addLastName.clear(); addEmail.clear(); } }); 当用户点击添加按钮,在文本域输入的文本将被添加到...图 12-7 多列排序 作为应用的开发人员,你可以通过setSortType方法设置每一列的排序优先级。你可以分别指定升序和降序的排列规则,例如,用下面的代码来设置emailCol 降序的排序。...用户键入在单元格中键入了新的值,然后暗下来 Enter键。只有按下了Enter键,单元格编辑才算结束。这一行为取决于TextField的实现。...表 12-8编辑表格的单元格 请记住:默认的TextField 实现,需要用户按下Enter键来提交编辑。

    11.4K20

    DJ 风格 Java 桌面音乐播放器

    ,你肯定会喜欢上它的!...在 JavaFX 中,Stage 是应用程序窗口,其中包含称为 Scene 的空间。Scene 包含界面的组件,如 UI 空间(按钮,输入框,复选框),容器等。...TextField userTextField = new TextField(); grid.add(userTextField, 1, 1); /...上面代码的意思是:创建一个面板,然后在面板上添加标签,输入框和按钮,并对按钮添加绑定事件,然后把这个面板添加到场景中,这个窗口就完成了。 五、最后 Java 桌面 DJ 音乐播放器是真的香!...不知道你对这款音乐播放器有什么感受,欢迎在评论区说说自己的想法。人们都喜欢美的好的事物,而今天的这个项目是通过 Java 代码撸出来的,难道你还不会不喜欢 Java 这门编程语言吗?

    3.8K21

    JavaFX 简介

    用户输入 这个程序可以用来处理用户登录的情况,代码如下,重要部分都添加了注释。代码的最后一部分使用setOnAction函数为按钮添加了点击事件,当点击按钮的时候会显示文本。...--设置布局--> javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"...在FXML中用fx:id属性指定的ID,可以在控制器中声明为一个类字段,通过这个字段就可以和界面组件进行交互。同样道理,onAction声明的事件处理程序,在控制器中就是一个方法。...如果希望修改组件样式,JavaFX提供了CSS接口,让我们可以直接使用CSS文件修改样式。首先需要在FXML文件中添加相应样式表的引用。文件名前面的@表示这个CSS文件和FXML文件在同一目录下。...#btnShowPassword { -fx-background-color: deeppink; } 上面用了ID选择器,所以对应地,在FXML中也需要ID属性。

    5.8K81

    自学记录鸿蒙API 13:Calendar Kit日历功能从学习到实践

    第一部分:构建基础——获取日历管理器每个优秀的应用都有一个强大的核心,在Calendar Kit中,这个核心就是CalendarManager。它是我们与日历和日程打交道的桥梁。...比如,为工作日历设置红色,为个人日历设置蓝色,这种视觉化的管理方式让信息一目了然。第三部分:日程管理——让生活井井有条有了日历后,我们可以通过它添加日程。...——精准管理日程当日程变得越来越多时,查询和筛选就显得尤为重要。...value); TextField({ text: this.description, placeholder: '请输入描述' }) .onChange...模糊查询:支持按标题或时间快速搜索。智能提醒:根据用户设置的时间提前提醒重要任务。

    17820

    Flutter TextField(输入控件)

    1、常用属性值及含义 TextField常用属性值 含义 maxLength 最大长度,设置此项会让TextField右下角有一个输入数量的统计字符串 maxLines 最大行数 autocorrect...允许的输入格式 onChanged 内容改变的回调 onSubmitted 内容提交(按回车)的回调 enabled 是否禁用 示例 TextField( maxLength...: 30,//最大长度,设置此项会让TextField右下角有一个输入数量的统计字符串 maxLines: 1,//最大行数 autocorrect: true,//是否自动更正...TextInputType.multiline 带有选项以启用有符号和十进制模式的数字键盘。...示例 TextField( keyboardType: TextInputType.number, ), 5.2 textCapitalization 字母大写 TextField提供了一些有关如何使用户输入中的字母大写的选项

    3.4K20

    JavaFX 11发行说明

    添加API以自定义Spinner控件的步骤重复计时 在JavaFX 11中修改值步骤之前,必须在Spinner控件箭头按钮上按下鼠标的默认持续时间。...initialDelay:在下一个值步骤之前必须在箭头按钮上按下鼠标的持续时间。默认值现在为300毫秒。 repeatDelay:在第一个值步骤之后,每个连续步骤必须按下鼠标的持续时间。...已知的问题 JavaFX在Ubuntu 18.04上使用Wayland与OpenJDK 11崩溃 启用XWayland窗口服务器时,JavaFX在Ubuntu 18.04 Linux机器上崩溃。...只要FX窗口工具包代码在Linux上使用GTK 3,就会发生这种情况,这是JavaFX 11的默认设置。 建议的解决方法是在运行JavaFX应用程序时使用Xorg服务器而不是Wayland服务器。...GetScreenCapture方法中删除对StretchBlt的调用 窗口的工具包 JDK-8191885 [MacOS] JavaFX主窗口无法在MacOS中从全屏模式返回 窗口的工具包 JDK-8196031

    6.7K60

    安卓软件开发:用JetpackCompose实现NimReplyAppLogic中篇

    在中篇中,深入探讨 NimReplyApp 的业务逻辑实现,重点关注应用的核心功能,如电子邮件的获取、筛选、状态管理。...一、项目概览在 NimReplyAppLogicf实现以下核心功能:电子邮件的数据源管理:通过 ViewModel 和 Repository 模式管理应用的数据源。...电子邮件筛选功能:基于用户输入动态更新和筛选邮件列表。电子邮件详情和状态管理:跟踪邮件的已读、未读和星标状态,使用 Jetpack Compose 更新 UI。...2.2 ViewModel 的实现ViewModel 是 MVVM 模式中的核心组件,用于处理数据的逻辑和状态管理。在 ViewModel 中定义邮件的筛选、更新操作以及与 UI 组件的交互逻辑。...三、实现筛选功能:实时更新电子邮件列表为了实现邮件的筛选功能,使用 LaunchedEffect 和 remember 跟踪用户的搜索输入,动态更新邮件列表。

    13820

    iOS UITextField详解

    )]; 把textfield加到视图中 [self.window addSubview:text]; 设置边框样式 只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect...{ //返回一个BOOL值指明是否允许根据用户请求清除内容 //可以设置在特定条件下才允许清除内容 return YES; } -(BOOL)textFieldShouldReturn...SearchBar中,将会不触发Search事件,因为你自己限制不让输入\n,好惨,我在项目中才发现的。)...当然,你还可以在以上方法return之前,做一提示的,比如提示用户只能输入数字之类的。如果你觉得有需要的话。...replacementString:(NSString *)string; { //string就是此时输入的那个字符 textField就是此时正在输入的那个输入框 返回YES就是可以改变输入框的值

    1.8K30

    JavaFX 11 发布,与 JDK 拆分后的首个正式大版

    由于 JavaFX 库被写成了 Java API,因此 JavaFX 应用程序代码可以调用各种 Java 库中的 API,例如 JavaFX 应用程序可以使用 Java API 库来访问本地系统功能并且连接到基于服务器中间件的应用程序...在 JavaFX 11 中修改值步骤之前,必须在 Spinner 控件箭头按钮上按下鼠标一段默认持续时间,JavaFX 11 中已添加两个新属性“initialDelay”和“repeatDelay”来配置此操作...javafx.* 模块现在由应用程序类加载器加载,默认情况下不再具有权限。...特性: 新增:添加了公共 FX Robot API 以支持模拟用户交互,例如在键盘上输入,使用鼠标并捕获图形信息。 移除:FX Media 移除了对 libavcodec 53 和 55 的支持。...此外公告还提供了关于以下一些常见问题的解决方案: OpenJDK 11 环境下,JavaFX 在 Ubuntu 18.04 上启用 Wayland 时崩溃。

    2.4K40

    Flutter | 常用组件

    . }) width ,height :设置图片的宽高,若不指定,图片图片会根据当前父容器的限制,尽可能的显示其原始大小,如果只设置了其中的一个,则另一个则会按比例缩放,但是可通过 fit 属性来适应规则...fit:用于在图片的显示空间和图片本身大小不同的时候指定图片的适应模式 image.png color 和 colorBlendMode :在图片绘制时可以对每一个像素的颜色进行混合处理,color...因此,我们在自定义组件是应该思考一下那种方式最为合理 输入框和表单 Material 组件库中提供了输入框组件 TextField 和表单组件 From ,下面来具体看一下 TextField 用于文本输入...InputDecoration:用于控制 TextField 的外观显示,如提示文本,背景颜色,边框等 keyboardType :用于设置该输入框的键盘输入类型,取值如下: image.png...), 设置最大长度计数器就可显示出来 自定义计数器/图标 TextField( autocorrect: true, maxLength: 11,

    11.4K30
    领券