我的 jcombobox 中已经有这个:
myjcombobox.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (!(Character.isDigit(c)
|| (c == KeyEvent.VK_BACK_SPACE)
|| (c == KeyEvent.VK_DELETE))) {
getToolkit().beep();
e.consume();
}
}
});
此代码可防止在 jcombobox 中写入数字以外的任何字符。只有数字。但由于我的 jcombobox 是可编辑的,用户可以写入几个数字,这就是问题所在,我想设置最大长度为 4 位数字,但不知道该怎么做......
提前致谢
假设您的 JCombobox 是最终的,您可以尝试以下操作:
myjcombobox.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (myjcombobox.getEditor().getItem().toString().length() < 4) {
if (!(Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE))) {
f.getToolkit().beep();
e.consume();
}
} else {
e.consume();
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)