当前位置:  技术问答>java相关

jTextField问题

    来源: 互联网  发布时间:2015-10-30

    本文导语:  jTextField的字符长度设为固定长度,超长不能输入 | 需要通过他的document来管理。 class MyDocument extends PlainDocument{    int maxLength =10;    public MyDocument(int newMaxLength){       super();       maxLength =...

jTextField的字符长度设为固定长度,超长不能输入

|
需要通过他的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就可以.


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing类jtextfield的类成员方法: jtextfield定义及介绍
  • 有30个JTextField,JTextField1-JTextField30,怎样一次遍历30个JTextField,以设置它的某些属性?
  • java命名空间javax.swing类jtextfield.accessiblejtextfield的类成员方法: jtextfield.accessiblejtextfield定义及介绍
  • 为什么通过jTextField输入的汉字变成了一个字符?我用jTextField.getText().length()返回的结果就是这样!6个汉字的长度只有6!!!
  • java命名空间javax.swing类jtextfield的类成员方法: gethorizontalalignment定义及介绍
  • 怎么样让其它的几个JTextField同步呢?
  • java命名空间javax.swing类jtextfield的类成员方法: sethorizontalalignment定义及介绍
  • 有两个JTextField,当在其中一个JTextField输入字符串时,另一个JTextField里也出现相同字符串,能给出代码吗,一定给分!!!
  • java命名空间javax.swing类jtextfield的类成员方法: getaccessiblecontext定义及介绍
  • 用什么方法,可以把一个String型的字符串赋给JTextField对象?谢谢!
  • java命名空间javax.swing类jtextfield的类成员方法: notifyaction定义及介绍
  • jTextField的focus
  • java命名空间javax.swing类jtextfield的类成员方法: paramstring定义及介绍
  • 关于JTextField,UP有分,分不够再加!
  • java命名空间javax.swing类jtextfield的类成员方法: getactionlisteners定义及介绍
  • 如何使这个JTextField获得焦点?
  • java命名空间javax.swing类jtextfield的类成员方法: getscrolloffset定义及介绍
  • 如何监听JTextField的失去焦点事件?
  • java命名空间javax.swing类jtextfield的类成员方法: getcolumns定义及介绍
  • 如何使JTextField中输入的文字居中显示
  • java命名空间javax.swing类jtextfield的类成员方法: setactioncommand定义及介绍
  • 怎么把JTextField和JButton联系起来?????????


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3