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

DocumentFilter只允许数字和句点(.)进入JTextField?

在JTextField中,只允许数字和句点(.)进入的方法可以通过实现DocumentFilter接口来实现。下面是一个示例代码:

代码语言:java
复制
import javax.swing.*;
import javax.swing.text.AbstractDocument;
import javax.swing.text.DocumentFilter;

public class JTextFieldExample {
   public static void main(String[] args) {
      JTextField textField = new JTextField();

      // 过滤只允许数字和句点(.)输入
      DocumentFilter documentFilter = new DocumentFilter() {
         public void insertString(DocumentFilter.FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
            string = string.replaceAll("[\\D\\.]", ""); // 移除非数字和句点字符
            fb.insertString(offset, string, attr);
         }

         public void remove(DocumentFilter.FilterBypass fb, int offset, int length) throws BadLocationException {
            fb.remove(offset, length);
         }

         public void replace(DocumentFilter.FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
            text = text.replaceAll("[\\D\\.]", ""); // 移除非数字和句点字符
            fb.replace(offset, length, text, attrs);
         }
      };

      ((AbstractDocument) textField.getDocument()).setDocumentFilter(documentFilter);

      JFrame frame = new JFrame("JTextField Example");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.add(textField);
      frame.pack();
      frame.setVisible(true);
   }
}

在这个示例代码中,我们首先创建了一个JTextField对象。然后,我们实现了一个DocumentFilter对象,它过滤掉非数字和句点字符,只允许数字和句点字符输入到JTextField中。最后,我们将这个DocumentFilter对象设置到JTextField对象的Document对象中,从而实现在JTextField中只允许数字和句点字符输入的功能。

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

相关·内容

java Swing用户界面组件文本输入:文本域+密码域+格式化的输入域

首先,介绍具有用户输入编辑文本功能的组件。文本域(JTextField)组件和文本区(JTextArea)组件用于获取文本输入。文本域只能接收单行文本输入而文本区可以接收多行文本输入。...JTextField textField = new JTextField(20); 可以在任何时候调用setText方法来改变文本域中的内容。...javax.swing.JTextField 1.2 • JTextField(int cols) 构造一个指定列数的空JTextField。...格式化的输入域 在上一个例子中,希望用户输入数字,而不是任意的字符串。就是说只允许用户输入0~9的数字加上连字符(-)。并且如果是连字符,必须是输入的第一个符号。 从表面上看,对输入进行检验十分简单。...javax.swing.text.DocumentFilter 1.4 • void insertString(DocumentFilter.FilterBypass bypass, int offset

4K10

java课程设计(简易计算器)源代码 JAVA 源代码有解析 免费分享

①单击计算器上的数字按钮(0、1、2、3、4、5、6、7、8、9)可以设置参与计算的运算数。 ②单击计算器上的运算符按钮(+、—、*、/)可以选择运算符号。...ShuziButton.java 负责0-9数字按钮的创建。 OperateNumber.java 负责用户点击数字(0-9)按钮时的事件处理。...运算符,表达式语句。 14. 类与对象。 15. 子类与继承。 16. 接口与实现。 17. 内部类与异常类。 18. 常用String类。 19. 组件及事件处理。 20....JPanel centerZuo=new JPanel(); //建一个放在panelZuo中间部分的centerZuo容器放数字与符号。...String num2 = list.getLast(); //获取第二个数字 String fuHao = list.get(1); // 获取运算符号 String

3.1K40

Java 期末复习 (已完结)

1实现数据项方法的隐藏, 2 实现隐藏隔离,只允许外部对类做有限的访问,开发者可以自由的改变类的内部实现 3 提高了代码的重用性 ** Java中多态的实现方式:接口实现,继承父类进行方法重写,...注意 1 * 为向右的 2 注意这个 \ w 代表 字母 或 数字 或者下划线* 或者汉字 3 注意 ....1 JAVA是纯面向对象语言,所有变量方法都在类中声明定义 C++保留了部分面向过程特性。...3 JAVA没有指 C++ 存在各种指针* 4 C++可以实现多继承抽象基类 java只可以实现单继承,但可以进行接口多实现 5 C++可以进行函数重载、还可以进行运算符重载 JAVA只允许函数重载...view.textShow.append(num1+""+fuhao+""+num2+" = "+result); } }catch (Exception e1) { view.textShow.append("请输入数字

93230

【课后练习分享】Java用户注册界面设计求三角形面积的图形界面程序

问题二的答案代码如下: 问题二的运行截图如下: java编程题(每日一练): 1.设计一个用户注册的界面,包括用户名、密码输入框,性别单选按钮,表示爱好的 篮球、足球、乒乓球复选框,表示学历的下拉列表框,“注册”按钮“...要求能够判断输 入的3个边长是否是数字,三个边长是否能够构成合法的三角形 问题一的答案代码如下: Java 用户注册界面设计 import javax.swing.*; import java.awt...sideAField = new JTextField(); JLabel sideBLabel = new JLabel("Side B:"); JTextField...sideBField = new JTextField(); JLabel sideCLabel = new JLabel("Side C:"); JTextField...第一个程序包含用户名、密码输入框,性别单选按钮,爱好复选框,学历下拉列表框,以及注册取消按钮。

2700

SpringBoot启动流程(四)application配置文件加载过程

// 添加所有properties到Environment中 addLoadedPropertySources(); } while循环中,首先拿到的是profile=null,然后就直接进入第二个...DEFAULT_NAMES); } 相似的逻辑,最终返回默认的配置文件名application,也就是我们最熟悉的名字 接下来,再回到第二个load方法,我们可以跟进第三个load方法了,看看如何根据locationsnames...load(loader, prefix + fileExtension, profile, profileFilter, consumer); } 由于当前profile=null,所以我们直接进入第四个...( PropertySourceLoader loader, String location, Profile profile, DocumentFilter...method addMethod.accept(merged, document.getPropertySource()); }; } 我们看到,loaded是一个profileMutableProperySources

86130

Java课程设计【学生信息管理系统】

用户名密码都默认设置为0,用户名或密码输入错误会弹出“用户名或密码输入不正确”的对话框。在用户名密码输入正确后进入学生信息管理系统,然后进行添加、修改、删除等操作。...四、概要设计 1、类之间的调用关系 2、学生信息模块 3、系统管理模块 4、详细设计 ①主程序LoginGUI的代码 主要实现了系统的登录窗口登录之后进入的信息管理窗口,还有增删改查功能。...tAge=new JTextField(15); private JTextField tPhone=new JTextField(15); private JTextField tQq=new JTextField...然后在成功登录后进入学生信息管理系统界面。在里面没有上传照片下载图片这一选项。我在View这个程序里面首先添加了本地的图片作为图标可供下载,然后选定一个文件夹Config作为上传的路径。...如果输入错误,会像如图所示输出“用户名或密码输入不正确”的对话框: 我给出的代码为了方便调试,用户名密码全是0,记住运行的是LoginGUI这个类 (2)如果正确,则成功登录,进入学生信息管理界面

5.4K21

Java Swing 期末大作业-----图书借阅管理系统

如果图书馆新进了一批书籍,我们得把这些书籍给登记进入系统中,这里模块就需要一个图书信息增加功能,我们需要输入图书的关键信息然后添加信息到我们的后台系统中。   ...系统管理员要知道当前读者的所有信息或者指定信息,此模块需要一个查询读者信息的功能,还包括查询所有根据id指定查询。...我们同时也会在借阅归还的面板中加入显示所有借阅书籍的功能,让读者知道那本书被借阅了,书被借走了没法再借了(默认系统中每本书只有一本)。...,成功登录后进入图书系统的主界面,如图11所示 package com.bbm.staticview; import javax.swing.*; public class Login extends...输入用户名密码后点击添加实现注册功能。

3.5K40

SQL函数 TO_CHAR(二)

数字到字符串的转换可以使用 TO_CHAR 将数字转换为格式化的数字字符串。下表列出了使用 TO_CHAR 的格式参数的有效格式代码。...如果省略格式参数,则输入数值被评估为整数:前导零前导加号被删除,前导减号被保留,并且数值在第一个非数字字符处被截断,例如逗号或期间。没有提供前导空格或其他格式。...默认为句点“.”。格式参数中只允许有一个“D”。G9G999返回指定位置的数字组分隔符。使用的 NumericGroupSeparator 是为区域设置定义的。默认为逗号“,”。...99.99返回指定位置的小数点(即句点“.”)。只有一个 ”.”在格式参数中是允许的。...格式可以将小数分隔符和数字组分隔符指定为文字字符,也可以指定为区域设置的 DecimalSeparator NumericGroupSeparator 的当前值。

2.1K20

Python实战之特定文本提取,挑战高效办公的第一步

分别包括前三位的号码类型,比如是中国移动还是中国联通,中间四位的区号以及后四位的随机排版数字组成的。所以很多电话号码在书写的时候都是分为三部分,在中间使用空格点号或横杠来进行连接。 ?...那么我们就要对不同类型的电话号码进行提取,因此我们在创建正则表达式的时候,要首先对前三位数字建立匹配(\d{3}|(\d{3})),再对中间可能出现的空格点号或横杠来进行表示([-.\s])。...之后对四位区号数字进行正则表达式匹配(\d{4}|(\d{4})),再进行中间出现的空格点号或横线([-.\s]),最后匹配随机排版的四位数字(\d{4}|(\d{4}))。...\s]) (\d{4}|\(\d{4}\))''', re.VERBOSE) 之后我们为电子邮箱E-mail创建正则表达式,同样我们知道E-mail地址的用户部分是一个或多个字符字符,可以包括小写大写字母数字句点下划线百分号加号或短横...域名用户名用@符号分割。 域名允许的字符分类要少一些,只允许字母数字句点短横[\w\d._%±]。 最后是部这在技术上称为顶级域名,并且有2到4个字符.[\w]{2,4}。

1.3K20

Java课程设计——学生成绩管理系统

Java 课程设计 题 目: 学生成绩管理系统 摘要 在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展。...为管理人员提供充足的信息快捷的查询手段,提高学校学籍管理的效率。 关键词: Swing,MySQL,学生成绩管理系统 序言 管理信息系统正在向着网络化、智能化集成化等趋势发展。...bt_save); this.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); } } } 4、运行调试与分析讨论 (1)登录 先选择以教师或学生身份登录,输入账号密码进入相应的客户端...账号分别为老师的职工号学生的学号。...熟悉了 MySQL SQL 语句,Swing GUI 工具包以前没用过的组件 Intelij IDEA 开发工具等。

3.4K21

java 计算器 (模仿windows自带计算器的功能界面)

import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField...COMMAND.length]; / 计算器左边的M的按钮 / private JButton m[] = new JButton[M.length]; /** 计算结果文本框 / private JTextField...resultText = new JTextField("0"); // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 private boolean firstDigit...new JButton(M[i]); calmsPanel.add(m[i]); m[i].setForeground(Color.red); } // 下面进行计算器的整体布局,将calckeyscommand...// 新建一个大的画板,将上面建立的commandcalckeys画板放在该画板内 JPanel panel1 = new JPanel(); // 画板采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为

1.4K00

Java-单机版的书店管理系统(练习设计模块思想_系列 四(1) )

(练习设计模块思想_系列 二 ): http://blog.csdn.net/qq_26525215/article/details/51089734 Java-单机版的书店管理系统(练习设计模块思想...现在进入其他模块是通过菜单项进入的。 增加了图书模块! 注意: 每个模块先写哪个,我都是按照先后顺序来上代码的,从前往后依次写代码的。 注意是每个模块!!!...先写公共类工具类再写模块的! 我公共类工具类上传在最后了,你看可以直接在左上角找目录跳到那去看。...(限每个模块内部)(因为还有公共类工具类等) 软件部分图片: 现在先看软件部分运行图片: 待完成的主界面:现在通过菜单条:模块进入其他的模块: ? 用户模块主界面: ?...还有Uuid模块用户模块公共类,我会在Java-单机版的书店管理系统(练习设计模块思想_系列 四(2) )贴出全部代码。

1.1K20

Java 学生成绩管理系统「建议收藏」

3.教务人员 有属性 id,密码(教务人员没有考虑自身的信息,主要对老师学生的管理)。...4.管理员 对学生老师教务人员进行帐号注册(例如学校的教学网第一次登录不需要注册直接用学号登录然后改密码,这样防止外人注册进入到系统) 只有一个系统管理员,用来添加学生,教师教务人员帐号,方便学习这里帐号...登录界面 因为是只有管理员才能注册新的用户,所以此页面没有注册按钮,需要注册时点击管理员按钮进入Register类进行注册。...2.老师的显示界面 老师这里包含了个人信息显示修改,修改学生成绩查看所有学生成绩 package com.file; import java.awt.BorderLayout; import java.awt.Color...jf.add(jp_center,BorderLayout.CENTER); table = new JTable(); // 将表的选择模式设置为只允许单个选择

5.4K20

8,二维dataframe —— 类Series操作

Series中只允许存储同种类型数据。 2,DataFrame:二维的表格型数据结构。可以将DataFrame理解为Series的容器。 3,Panel :三维的数组。...你发现 pandas库的名字这三种数据结构名字的关系了吗?本节接下来的几节我们介绍DataFrame。DataFrame是python在数据分析领域使用最广泛的数据结构。...DataFrame可以看成是一个有indexcolumns名称的array,支持向量化。...二,DataFrame的索引 DataFrame的索引Series非常相似,支持下标索引,标签索引布尔索引(标签指index或columns)。...通常可以通过以下一些方式实现:方括号[],句点符号,loc,iloc,ix。最常使用的是方括号,loc,iloc。 1,仅选择行 ? 2,仅选择列 ? 3,同时选择行列 ? ? ?

44320
领券