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();
}
}
});
}
}
}
TestField设置长度
最新推荐文章于 2021-09-13 18:47:28 发布