JTextField txtSample = new JTextField(int column);就可以限制啊!
JTextArea txtSample = new JTextArean(int ,int);可以限制啊!

解决方案 »

  1.   

    那个column就是字数的意思吗?
    另外,JTextArea我不想控制每行多少字和每列多少字啊,只想控制总字数
      

  2.   

    column是那个意思!要控制字数,那你可以注册事件后响应中做!
      

  3.   

    JTextField(int column)中的column并不是限定字数而是限定JTextField长度的。要限定字数,可以在KeyListener中自己定义。下面是一个我做的例子,限定输入字长为4个半角字符。import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;public class RistrictedTextField extends JFrame
    {
             // 12 定义了text对象的长度
    final JTextField text = new JTextField(12);
    public RistrictedTextField(String title)
    {
    super(title);
    getContentPane().setLayout(new FlowLayout());

    text.addKeyListener(new KeyListener()
    {
    public void keyTyped(KeyEvent e)
    {
             if (text.getText().length() > 3)
    e.setKeyChar('\0');
    }
    public void keyPressed(KeyEvent e){}
    public void keyReleased(KeyEvent e){}
    });
    text.setToolTipText("This text field only allows to enter 4 characters");
    getContentPane().add(text);
    setWindow(200,190);
    }
    private void setWindow(int w, int h)
    {
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    setBounds((screenSize.width-w)/2, (screenSize.height-h)/2, w,h);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setVisible(true);
    }
    public static void main(String[] args)
    {
    new RistrictedTextField("Ristricted TextField Demo");
    }
    }
      

  4.   

    上述程序无法使用backspace键作修改,因此在if语句后加上
    if (text.getText().length() > 3 && e.getKeyChar() != '\b')就可以用backspace键了。