要求在TextField上只能输入12个字符就屏蔽掉键盘,不让输入了。 
怎么实现? 在API里面是哪个方法?

解决方案 »

  1.   

    不会CS的,在B/S中的有一个maxLength
      

  2.   

    JTextField,是在Swing 里面,它里面没有maxLength这个属性。
    从键盘输入判断,然后自动屏蔽,不让它继续输入。
      

  3.   

    不知道这个方法能用么?setColumns
      

  4.   

    实现一个自己的Document,然后充载TextField的createDocument方法就可以了。
    在实现自己的Document时,充载insertString方法。
    实例如下:
    public void insertString(int offset, String str, AttributeSet attr)
        throws BadLocationException{
            if(str == null)
            {
                return;
                }
            if((getLength()+str.length())<=256 )   {
                str = str.toUpperCase();
                super.insertString(offset,str,attr);
                }  
        }   
        }
      

  5.   


    小妹比较愚笨,没明白过来。。
       str.toUpperCase()不是转换成大写吗?
      

  6.   

    可以用javascript控制,TextField达到一定长度,就让它disabled掉。
      

  7.   


    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;import javax.swing.JFrame;
    import javax.swing.JTextField;public class T2 extends JFrame implements KeyListener{
    private JTextField filed;
    public T2(){
    this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
    filed  = new JTextField();
    filed.addKeyListener(this);
    this.setVisible(true);
    this.setSize(500,400);
    this.add(filed);
    }
    public static void main(String[] args) {
    new T2();
    }
    public void keyPressed(KeyEvent e) {


    }
    public void keyReleased(KeyEvent e) {
    // TODO Auto-generated method stub

    }
    public void keyTyped(KeyEvent e) {
    JTextField d = (JTextField)e.getSource();
    if(d.getText().length()>=12)
    {
    e.setKeyChar((char)e.VK_CLEAR);
    }

    }
    }
      

  8.   


    没有用到JavaScript,只是单纯的swing控件。