JFormattedTextField是一个具有格式化功能的JTextField。
我们可以指定编辑和显示文本的格式。在值为null的情况下,我们可以指定格式。
JFormattedTextField提供了两个新的方法getValue()和setValue()来接受任何类型的数据,而不仅仅是文本。
JFormattedTextField有三种预配置格式:
JFormattedTextField有三种预配置格式:...
下表列出了JFormattedTextField类的构造函数。
ID | 构造函数/说明 |
---|---|
1 | JFormattedTextField()创建没有格式化程序的JFormattedTextField。 我们需要使用它的setFormatterFactory()或setValue()方法来设置一个格式化程序。 |
2 | JFormattedTextField(格式格式)创建一个JFormattedTextField,它将使用指定的格式来格式化字段中的文本。 |
3 | JFormattedTextField(JFormattedTextField.AbstractFormatter formatter)使用指定的格式化程序创建JFormattedTextField。 |
4 | JFormattedTextField(JFormattedTextField。AbstractFormatterFactory factory)使用指定的工厂创建JFormattedTextField。 |
5 | JFormattedTextField(JFormattedTextField.AbstractFormatterFactory factory,Object initialValue)使用指定的工厂和指定的初始值创建JFormattedTextField。 |
6 | JFormattedTextField(对象值)创建具有指定值的JFormattedTextField。 |
下表列出了JFormattedTextField类的构造函数。...
格式化程序由JFormattedTextField.AbstractFormatter对象表示,它使用java.text.Format对象格式化对象。
格式化程序工厂是格式化程序的集合。 格式化程序工厂对象由JFormattedTextField.AbstractFormatterFactory类的实例表示。
JFormattedTextField知道基于传递的值类型使用什么默认格式化程序。如果通过setValue()方法传递的值是一个Date时间,它将使用默认值日期格式化器。
以下代码使用当前语言环境格式将其中的文本格式化为日期:
JFormattedTextField dobField = new JFormattedTextField(); dobField.setValue(new Date());
以下代码以当前语言环境格式格式化一个数字:
JFormattedTextField salaryField = new JFormattedTextField(); salaryField.setValue(new Double(12345.98));
我们可以使用格式器创建一个JFormattedTextField。 我们可以使用DateFormatter,NumberFormatter和MaskFormatter类来分别格式化日期,数字和字符串。
这些类位于javax.swing.text包中。
这些类位于javax.swing.text包中。...
DateFormat dateFormat = new SimpleDateFormat("mm/dd/yyyy"); DateFormatter dateFormatter = new DateFormatter(dateFormat); dobField = new JFormattedTextField(dateFormatter);
以下代码创建一个JFormattedTextField以格式化$#0,000.00格式的数字。
NumberFormat numFormat = new DecimalFormat("$#0,000.00"); NumberFormatter numFormatter = new NumberFormatter(numFormat); salaryField = new JFormattedTextField(numFormatter);
下表列出了可用于创建自定义格式的特殊字符。
字符 | 描述 |
---|---|
# | 一个号码 |
? | 一封信 |
A | 一封信... |
* | Anything |
U | 一个字母,小写字符映射到它们的大写等价物 |
L | 一个字母,小写字符映射到它们的大写等价物... |
H | 十六进制数字(A-F,a-f,0-9) |
" | 十六进制数字(A-F,a-f,0-9)... |
以下代码以### - ## - ####格式创建社会安全号码的格式。
MaskFormatter ssnFormatter = null; JFormattedTextField ssnField = null; try { ssnFormatter = new MaskFormatter("###-##-####"); ssnField = new JFormattedTextField(ssnFormatter); } catch (ParseException e) { e.printStackTrace(); }
上面的代码不会显示任何占位符掩码。 它显示空间和“ - - "。
要在SNN字段中显示000-00-0000,我们需要使用“0"作为mast格式器的占位符字符。
ssnFormatter = new MaskFormatter("###-##-####"); ssnFormatter.setPlaceholderCharacter("0");
我们可以使用JFormattedTextField中的setFormatterFactory()方法安装格式化程序。
DateFormatter df = new DateFormatter(new SimpleDateFormat("mm/dd/yyyy")); DefaultFormatterFactory dff = new DefaultFormatterFactory(df, df, df, df); dobField.setFormatterFactory(dff);
JFormattedTextField可以接受四种类型的格式化程序:
以下代码显示如何为a安装differents格式化程序JFormattedTextField。
DateFormatter df = new DateFormatter(new SimpleDateFormat("mmmm dd, yyyy")); DateFormatter edf = new DateFormatter(new SimpleDateFormat("mm/dd/yyyy")); DefaultFormatterFactory ddf = new DefaultFormatterFactory(df, df, edf, df); dobField.setFormatterFactory(ddf);
如果我们已经配置了JFormattedTextField来设置日期格式,我们可以使用它的getValue()方法来获取一个Date对象。
要在输入时覆盖字段中的值,我们需要使用setOverwriteMode(true)方法在重写模式下设置格式化程序。
使用JFormattedTextField来限制字符数可以在字段中输入,用* mask设置掩码格式化程序。
要只接受两个字符,请使用以下代码
JFormattedTextField twoCharField = new JFormattedTextField(new MaskFormatter("**"));
设置项目的选定状态。JCheckBoxMenuItem类表示从菜单栏部署的下拉菜单组件。类声明以下是javax.swing.JCheckBoxMenuItem类的声明...
摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!『仓廪实而知礼节,衣食足而知荣辱 –管仲 』...
摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!『 公司的核心竞争力在于创新 – 《启示录》 ...
MyBatis-Plus 条件构造器-AbstractWrappernotExists(String notExistsSql)notExists(boolean condition, String notExistsSql)拼...
注意:适用版本:mybatis-plus-generator 3.5.1 以下版本AutoGenerator是MyBatis-Plus的代码生成器,通过AutoGenerator可以快速...
SqlSession正如之前所提到的,SqlSession在MyBatis中是非常强大的一个类。它包含了所有执行语句、提交或回滚事务以及获取映...
持久化类Hibernate 的完整概念是提取 Java 类属性中的值,并且将它们保存到数据库表单中。映射文件能够帮助 Hibernate 确定如何...
环境这个章节会告诉你为了给 Hibernate 应用准备需要的开发环境,该怎样安装 Hibernate 应用和一些其它相关的包。我们会用 MySQL...
bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等。子 bean...