import java.awt.EventQueue;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
public class LimitTextNum extends JFrame{
private JTextField textField;
public LimitTextNum() {
super();
setTitle("限制可输入字符个数的文本框");
getContentPane().setLayout(null);
setBounds(100, 100, 337, 243);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textField = new JTextField();
textField.addKeyListener(new KeyAdapter() {
public void keyTyped(final KeyEvent e) {
if (textField.getText().length() == 8) { // 限制最多只能在文本框中输入8个字符
e.consume(); // 销毁本次输入的字符
JOptionPane.showMessageDialog(null, "不能超出可输入的最大字符个数");
}
}
});
textField.setBounds(31, 41, 160, 22);
getContentPane().add(textField);
final JLabel label = new JLabel();
label.setText("限制文本框中可输入字符的个数");
label.setBounds(32, 17, 207, 18);
getContentPane().add(label);
//
}
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
LimitTextNum frame = new LimitTextNum();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
![](http://static.oschina.net/uploads/space/2012/0406/131625_9Kco_137892.jpg)