JTextField(10) 或 JTextField(text, 10)

解决方案 »

  1.   

    JTextField1.settext(X,Y)
    从第X个开始,取Y 个字符!
      

  2.   

    jtextfield1.setDocument(new checkinput(10));public class checkinput extends PlainDocument{
       int max;
       public checkinput(int maxlength){
       max=maxlength;
       }
       public void insertString(int offset,String s,AttributeSet a) throws BadLocationException{
       if(s.length()>maxlength){
        Toolkit.getDefaultToolkit().beep();
       //  System.out.println(s);
            return;
         }else
    //   public void removeUpdate(int offset,String s,AttributeSet a){
    // }
           super.insertString(offset,s,a);
          }
      }
      

  3.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class Test extends JFrame {
      JPanel pane;
      JTextField text;
      JLabel str;  public Test() {
        super("字符输入限制");
        pane = new JPanel();
        getContentPane().add(pane);
        text = new JTextField(12);
        str = new JLabel("最多可输入 5 个字符:");
        text.addKeyListener(new KeyListener() {
          public void keyTyped(KeyEvent e) {
            if (text.getText().length() > 4 && e.getKeyChar() != '\b')
              e.setKeyChar('\0');
          }      public void keyPressed(KeyEvent e) {}      public void keyReleased(KeyEvent e) {}
        });
        pane.add(str);
        pane.add(text);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setSize(200, 200);
        this.setVisible(true);
      }  public static void main(String[] args) {
        new Test();
      }
    }
      

  4.   

    不行?我晕!你问的是Java吗?我在发之前实际测试过,肯定可以。你只要把text.getText().length() > 4改成text.getText().length() > 9就可以了