gpt4 book ai didi

java - JTextField 仅将输入限制为某些字符

转载 作者:搜寻专家 更新时间:2023-10-31 19:30:24 24 4
gpt4 key购买 nike

我想创建 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 条件,但现在用户可以粘贴不适当的输入,即“(”或“<”,没有任何问题......我能做什么?

最佳答案

也许使用DocumentFilter会更好与 Pattern ,

关于java - JTextField 仅将输入限制为某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7658324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com