Я хотел бы создать JTextField с вводимыми символами, ограниченными чем-то вроде
"? AbcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789 + & @ # /% = ~ _- |:!.,;"
поэтому я попытался переопределить
public class CustomJTextField extends JTextField {
String goodchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789+&@#/%?=~_-|!:,.;";
//... my class body ...//
@Override
public void processKeyEvent(KeyEvent ev) {
if(c != '\b' && goodchars.indexOf(c) == -1 ) {
ev.consume();
return;
}
else
super.processKeyEvent(ev);}}
но это не то, что я хочу, потому что пользователь не может больше ctrl-c ctrl-v ctrl-x ... поэтому я добавил
&& ev.getKeyCode() != 17 && ev.getKeyCode() !=67 && ev.getKeyCode() != 86 && ev.getKeyCode() !=0 &&
к условию if, но теперь пользователь может вставить несоответствующий ввод, т. Е. '(' Или '<', без каких-либо проблем ...
что я могу сделать? </p>