限制文本框的长度为指定值
来源:互联网 发布:淘宝crm软件 编辑:程序博客网 时间:2024/05/21 09:33
在某些程序中有时需要固定文本框的输入长度,比如输入手机号,或者学号等。
此时需要一个工具类,命名为MyDocument
import javax.swing.text.*;@SuppressWarnings("serial")public class MyDocument extends PlainDocument{private int maxLength;public MyDocument(int newLength){super();maxLength = newLength;}public MyDocument(){this(10);}public void insertString(int offset, String str, AttributeSet a)throws BadLocationException{/* * 当前字符串长度与将要插入字符串长度的和大于最大值时, * 则在与之关联的文本框中超过最大长度的字符会自动截断。 */if(this.getLength() + str.length() > maxLength)return ;elsesuper.insertString(offset, str, a);}}
当在应用程序中,这个也只能限制最大输入。要想格式正确,则文本框在失去焦点时监听focusLost事件
demo:
import java.awt.BorderLayout;import java.awt.event.*;import javax.swing.*;import com.wsy.util.MyDocument;;public class DocumentText extends JFrame{private JTextField jtf ;private JTextField jtf1;/** * */private static final long serialVersionUID = 1L;public DocumentText(){jtf = new JTextField();jtf1 = new JTextField();jtf.setDocument(new MyDocument(13));//输入长度为13/* * 匿名内部类监听失去焦点事件 */jtf.addFocusListener(new FocusAdapter(){public void focusLost(FocusEvent e){if(jtf.getText().length() != 13){JOptionPane.showMessageDialog(null, "请输入13位文本");return ;}}});add(jtf1,BorderLayout.CENTER);add(jtf,BorderLayout.NORTH);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocationRelativeTo(null);this.setSize(200,100);this.setVisible(true);}public static void main(String[] args){new DocumentText();}}
当输入文本不是固定值时,弹出一个消息提示框。
- 限制文本框的长度为指定值
- 限制文本框的输入长度
- 限制文本框输入的长度
- 限制文本框的输入长度
- 限制文本框输入的字符长度
- 文本框的长度限制,和类别
- iOS---限制文本框输入的长度
- HTML 文本框长度限制
- 限制文本框为数字
- 限制文本框只能输入有限长度的数字
- 用字符串的length实现限制文本框长度
- JAVA中限制文本框输入长度的办法
- 限制textarea 文本框的长度(收集了几个办法)
- Android EditText 限制文本框输入的长度和提示信息
- 限制文本框输入指定字符
- jquery限制文本框输入字符长度
- jquery限制文本框输入字符长度
- jquery限制文本框输入字符长度
- 如何获取当前视图中成为第一响应者的组件,并取消注册
- 《鸟哥的linux私房菜》笔记之Linux账号管理
- 如何较好的处理对方发送过来的数据流
- C语言输入输出函数
- Android中 shape和selector的使用
- 限制文本框的长度为指定值
- java位运算符
- 解决声卡和显卡问题——神奇的linux用户组
- linux mysql找不到mysql.h
- linux makefile
- UML概述
- gcc error - "iostream: No such file or directory"
- linux vsftp中的local_umask和anon_umask
- 利用UML进行面向对象分析与设计