Swing中Java如何限定JTextFied的输入长度?
package er; 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(); } } }); } } }优质内容筛选与推荐>>