package com.util;
import javax.swing.text.*;
/**
* 实现让文体框只能输入限定长度的数字
* @author 曾祥训
*
*/
public class NumberLenghtLimitedDmt extends PlainDocument {
/**
*
*/
private static final long serialVersionUID = -7371120135793981234L;
private int limit;
public NumberLenghtLimitedDmt(int limit) {
super();
this.limit = limit;
}
public void insertString(int offset, String str, AttributeSet attr)
throws BadLocationException {
if (str == null) {
return;
}
if ((getLength() + str.length()) <= limit) {
char[] upper = str.toCharArray();
int length = 0;
for (int i = 0; i < upper.length; i++) {
if (upper[i] >= '0' && upper[i] <= '9') {
upper[length++] = upper[i];
}
}
super.insertString(offset, new String(upper, 0, length), attr);
}
}
}
使用
JTextField txtAge = new JTextField();
txtAge.setDocument(new NumberLenghtLimitedDmt(3));
分享到:
相关推荐
### JTextField限制最大数字知识点解析 #### 一、背景与需求分析 在开发基于Java Swing的应用程序时,我们经常...这种方法不仅可以应用于限制数字输入的情况,还可以根据实际需求进行调整,用于其他类型的数据验证。
以下是一个简单的`DocumentFilter`示例,它限制了`JTextField`只能输入数字: ```java public class NumberDocumentFilter extends DocumentFilter { @Override public void insertString(FilterBypass fb, int ...
这种机制不仅可以防止用户输入过长的文本,还可以用于实现各种输入验证,例如只允许数字输入、字母输入或者特定格式的文本等。 在实际项目中,我们可能还需要考虑其他因素,如输入的实时反馈(如高亮显示错误)、...
在这个类中,可能会定义一个监听器,当用户输入或粘贴IP地址时,检查输入的格式是否合法,如确保每个段的数字在0-255之间,且整个地址由4个用点分隔的部分组成。此外,它可能还包含一个方法用于将输入的IP地址转换为...
Java中的`JTextField`是Swing库中一个基础的组件,用于创建文本输入字段。它允许用户输入单行文本,并且通常与`Document`对象关联,`Document`管理`JTextField`中的数据。在标准的`JTextField`中,虽然没有内置的...
在Java Swing应用开发中,有时候我们需要提供一种更加用户友好的输入方式,比如在输入框(JTextField)中输入内容时,能实时根据已输入的字符给出匹配建议,以辅助用户快速选择目标信息。这种功能常见于订机票时输入...
总结来说,实现`JTextField`的自动完成功能,主要依赖于`JComboBox`的下拉列表特性,通过组合和监听机制,可以在用户输入时动态展示匹配的建议,从而提升用户的输入效率和应用的用户体验。这种设计思路展示了在Java ...
代码片段中实现了一个名为 `color()` 的方法,其主要功能是将 `jTextField1` 中输入的关键字在 `jTextArea1` 中进行搜索,并标记匹配到的关键字。具体步骤如下: 1. **初始化变量**: - `i`:记录 `jTextField1` ...
例如,限制只能输入数字: ```java Document doc = textField.getDocument(); doc.addDocumentListener(new DocumentListener() {...}); ``` 7. **样式定制** 可以通过`setFont()`改变字体,`setForeground()`...
2. 创建组件:例如,创建一个`JFrame`作为窗口,然后添加`JLabel`显示提示信息,`JTextField`供用户输入数字,以及`JButton`来触发操作。 3. 实现事件处理:当用户点击按钮时,需要定义一个事件监听器来处理这个动作...
在Java图形用户界面设计中,JTextField是用于接收单行文本输入的基本组件。而水印效果通常是指在文本框内显示半透明文字或图像,用于提示用户输入信息,但不会被用户输入的文字覆盖。 这篇博客文章可能详细介绍了...
实现圆角矩形边框,hint文字,主要代码: ... JTextField textField = (JTextField) c; if ("".equals(textField.getText())) { g2d.setColor(Color.BLACK); g2d.drawString("请输入文字...", 10, 18); }
JTextField_Example.java
联系电话验证:只允许数字输入 为了确保联系电话的有效性,程序应实时检测并阻止任何非数字字符的输入。这可以通过监听电话号码输入框的文本变化事件,并使用正则表达式或字符检查来实现。 #### b. 邮件地址验证:...
在Java编程中,文本框(JTextField)是用于接收用户输入的组件,常见的应用场景包括登录密码、手机号码等。为了确保用户输入的数据符合特定格式,例如只允许输入数字,我们需要进行输入验证。本项目"ValidarNumeros...
Text_JTextField.class
JTextField是Java Swing库中的一个组件类,用于接收用户的文本输入。
在这个游戏中,使用了 JTextField 来输入猜测的数字。 知识点10:Box Box 是一个容器,用于存放其他组件。在这个游戏中,使用了 Box 来存放水平排列的组件。 通过分析 Java 猜数字游戏源代码,我们可以总结出多个...
控制器是模型和视图之间的桥梁,它接收来自视图的用户输入,处理这些输入(比如验证猜测的数字),然后更新模型的状态或通知视图进行相应的显示更新。在猜数字游戏中,控制器可能包含一个方法来比较用户输入的数字和...
在完成Swing的学习后,练习使用Swing包中JFrame、JButton、JLabel、JTextField、JMenu、JMenuItem等组件完成图形界面绘制。 前期能够独立思考并完成计算器的逻辑代码。 熟练使用JButton、JTextField、JLabel等...