TestField设置长度

来源:互联网 发布:现在最红网络的游戏 编辑:程序博客网 时间:2024/06/16 15:07

import java.awt.BorderLayout;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import javax.swing.JTextField;import javax.swing.SwingUtilities;import javax.swing.WindowConstants;public class TextFieldTest extends javax.swing.JFrame { private JTextField field; /** * Auto-generated main method to display this JFrame */ public static void main(String[] args) {  SwingUtilities.invokeLater(new Runnable() {   public void run() {    TextFieldTest inst = new TextFieldTest();    inst.setLocationRelativeTo(null);    inst.setVisible(true);   }  }); } public TextFieldTest() {  super();  initGUI(); } private void initGUI() {  try {   setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);   {    field = new LimitedTextField();    getContentPane().add(field, BorderLayout.CENTER);   }   pack();   this.setSize(400, 70);  } catch (Exception e) {   e.printStackTrace();  } } class LimitedTextField extends JTextField {  private int maxLength = 5;  public void setMaxLength(int maxLength) {   this.maxLength = maxLength;  }  public int getMaxLength() {   return this.maxLength;  }  public LimitedTextField() {   this.addKeyListener(new KeyAdapter() {    public void keyTyped(KeyEvent e) {     int code = e.getKeyChar();     /*if (code == KeyEvent.VK_BACK_SPACE) {      e.isActionKey();     } else*/ if (getDocument().getLength() >= maxLength) {      e.consume();     }    }   });  } }}

0 0