gpt4 book ai didi

java - 强制用户不要在 java 中的 jTextField 中输入数字

转载 作者:行者123 更新时间:2023-12-02 00:13:37 26 4
gpt4 key购买 nike

如何锁定用户键盘以使用户无法在 JTextField 中输入任何数值?

最佳答案

javax.swing.InputVerifier

适用于大多数简单的任务。

这是我前几天淘汰的一个:

public class TexFieldValidator extends InputVerifier {

String regex;
String errorMsg;
JDialog popup;

public TexFieldValidator(String regex, String errorMsg) {
this.regex = regex;
this.errorMsg = errorMsg;
}

@Override
public boolean verify(JComponent input) {
boolean verified = false;
String text = ((JTextField) input).getText();
if (text.matches(regex)) {
input.setBackground(Color.WHITE);
if (popup != null) {
popup.dispose();
popup = null;
}
verified = true;
} else {
if (popup == null) {
popup = new JDialog((Window) input.getTopLevelAncestor());
input.setBackground(Color.PINK);
popup.setSize(0, 0);
popup.setLocationRelativeTo(input);
Point point = popup.getLocation();
Dimension dim = input.getSize();
popup.setLocation(point.x - (int) dim.getWidth() / 2, point.y + (int) dim.getHeight() / 2);
popup.getContentPane().add(new JLabel(errorMsg));
popup.setUndecorated(true);
popup.setFocusableWindowState(false);
popup.getContentPane().setBackground(Color.PINK);
popup.pack();
}
popup.setVisible(true);
}

return verified;
}
}

here 窃取.

使用示例:

iDTextField.setInputVerifier(new TexFieldValidator("[a-zA-Z0-9]{3}", "ID must be 3 alphanumerics."));

关于java - 强制用户不要在 java 中的 jTextField 中输入数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12285667/

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