---------------------------------------------------------------
需要通过他的document来管理。
class MyDocument extends PlainDocument{
int maxLength =10;
public MyDocument(int newMaxLength){
super();
maxLength = newMaxLength;
}
public MyDocument(){
this(10);
}
//重载父类的insertString函数
public void insertString(int offset,String str,AttributeSet a)throws BadLocationException{
if(getLength()+str.length()>maxLength){//这里假定你的限制长度为10
return;
}
else{
super.insertString(offset,str,a);
}
}
}
然后用这个类控制你的textfield.
JTextField jTextField1 = new JTextField1();
jTextField1.setDocument(new MyDocument(20));
就可以了.
其实你完全可以在MyDocument的那个insertString方法的中加入自己的判断.
比如,可以控制保证输入的是一个整数,或者浮点数什么的.
---------------------------------------------------------------
因为当你的jTextField通过键盘输入或者拷贝一个字符串的时候,他会调用他的document的insertString方法进行插入操作.
你在这个方法中进行控制的话,可以完全改变插入字符串的效果.比如,当文档的长度超过一定时,就不能插入,也就是什么都不作,直接返回.
还比如,当插入一个不合乎要求的字符串的时候,你仍然可以抛弃.
甚至,你可以做到,不管插入什么字符创,都可以在textfield框中显示你的名字什么的.
---------------------------------------------------------------
那你先
jTextField1.setDocument(new MyDocument());
试试.
---------------------------------------------------------------
哦.应该给MyDocument类写为Public.
或者把这个类写在你要使用的.java文件里边.
另外需要在前面
import javax.swing.text.*;
---------------------------------------------------------------
我试过了,完全可以.
你把上面写的MyDocument类写成一个public类,这样子的话需要一个MyDocument.java文件来保存它.编译.
然后在使用他的地方,把这个类import就可以.
只能输入数字:
class NumberListener extends KeyAdapter {
public void keyTyped(KeyEvent e) {
String numStr = "0123456789." + (char) 8;
if (numStr.indexOf(e.getKeyChar()) < 0) {
e.consume();
JOptionPane.showMessageDialog(null, "抱歉的告诉您:请输入(数字)", "系统提示",
JOptionPane.INFORMATION_MESSAGE);
}
}
}
分享到:
相关推荐
该类的主要目的是限制用户输入的长度不超过指定的数字(在这个例子中是3位数,即最大值为999),并且只允许输入数字字符(0-9)。 **关键方法解析:** - **构造函数** `NumberLenghtLimitedDm(int limit)`: - ...
在上述代码中,我们创建了一个`JTextField`实例,并设置了它的最大输入长度为10。然后,我们创建了一个`JTextFieldCustomDocumentListener`实例,并将其添加到`JTextField`的`Document`中。当用户尝试输入超过最大...
以下是一个简单的`DocumentFilter`示例,它限制了`JTextField`只能输入数字: ```java public class NumberDocumentFilter extends DocumentFilter { @Override public void insertString(FilterBypass fb, int ...
在Java Swing应用开发中,有时候我们需要提供一种更加用户友好的输入方式,比如在输入框(JTextField)中输入内容时,能实时根据已输入的字符给出匹配建议,以辅助用户快速选择目标信息。这种功能常见于订机票时输入...
通过以上步骤,你就可以在NetBeans中成功地为`JTextField`设置最大字符长度了。同时,这个过程也展示了Java Swing组件的灵活性和可扩展性,以及如何通过编程方式对组件进行自定义。对于初学者来说,理解`Document`的...
代码片段中实现了一个名为 `color()` 的方法,其主要功能是将 `jTextField1` 中输入的关键字在 `jTextArea1` 中进行搜索,并标记匹配到的关键字。具体步骤如下: 1. **初始化变量**: - `i`:记录 `jTextField1` ...
在提供的代码片段中,我们看到使用了`JTextField`(用于接收文本输入)、`JButton`(用于触发动作)等Swing组件,以及`ActionListener`和`ItemListener`接口的实现,这些组件和接口都是Java AWT和Swing库的一部分,...
在许多应用场景中,我们可能需要限制`textField`所能接受的字符数量,以确保数据的规范性、存储效率或界面显示的一致性。`textField`的字符限制功能可以防止用户输入过长的文本,从而避免数据库溢出、性能下降或其他...
"文本框输入不合理数据时进行验证"这个主题涉及到的是前端和后端开发中的数据验证技术,确保用户输入的数据符合预设的规则,防止错误、非法或恶意的数据进入系统。以下是对这一主题的详细阐述: 1. **前端验证**: ...
- `textPanel` 包含了两个文本框 `field1` 和 `field2`,其中 `field1` 用于输入原始字符串,而 `field2` 用于显示反转后的结果。 - `tuPanel` 包含了一个带有图片的标签 `label`。 ### 二、字符反转实现 #### ...
8. **多语言支持**:在国际化应用中,文本框可能需要支持多种语言的输入,这就需要考虑字符集(如UTF-8)和输入法的兼容性。 9. **数据绑定**:在数据驱动的应用中,文本框的值通常会绑定到应用程序的某个数据模型...
然后,我们可以添加各种JButton来表示数字和运算符,以及JLabel或JTextField来显示输入的表达式和计算结果。 计算器的核心功能是对输入的字符串进行解析。在描述中提到的“支持任意长度的加减乘除运算”,这涉及到...
2. **最大长度限制**:`setMaxLength`方法用于设定文本组件能输入的最大字符数。如果设置为-1,则表示无限制。这有助于防止用户输入过长的数据,可能导致性能问题或者不符合业务需求。 3. **最大值限制(仅限数字)...
标识符可以包含字母、数字和下划线,且不能以数字开头。 16. 浏览器的“后退”按钮可以返回前一页面。 17. 循环通常包括初始化、循环体、迭代和终止条件四个部分。 18. Windows查找文件时可以使用通配符`?`代表...
- **字符串转换为二进制**:`תוה(String infor)`方法用于将输入字符串转换为二进制表示。 - **消息填充**:`λ(String infor)`方法用于填充原始消息,确保其长度符合SHA-1算法的要求。 - **循环左移**:`public ...
- **`CheckIsFourNum(String enterString)`**:检查用户输入是否为有效的四位数字字符串。 - 首先尝试将输入转换为整数,若失败则返回`false`。 - 检查字符串长度是否为4。 - **`GetResult(int Num[], String ...
同样,我们可以使用`JFormattedTextField`,但这次需要自定义一个格式器,检查输入是否符合十六进制格式,并且长度为12个字符。我们可以使用`DocumentFilter`实现这个功能。 ```java class ...
此方法会抛出`NumberFormatException`如果字符串不能被解析为有效的整数。 2. **异常处理** - `throws Exception`: 在Java中,当一个方法可能抛出异常但不处理它时,需要在方法签名中使用`throws`关键字声明异常。...
#### 2.3 JTextField 和 JPasswordField - `JTextField`:用于输入文本。 - `JPasswordField`:用于输入密码,可以设置显示字符为星号或其他符号以保护隐私。 #### 2.4 ActionEvent 和 ActionListener `ActionEvent...
Java课程设计报告的主题是开发一个简单的图形界面计算器,该计算器具备基本的数学运算功能,并且在输入数字时能自动添加千位分隔符。以下是关于这个项目的关键知识点: 1. **Java GUI编程**:Java提供了多种图形...