gpt4 book ai didi

java - InputVerifier 和多个字段

转载 作者:行者123 更新时间:2023-11-30 05:10:29 25 4
gpt4 key购买 nike

我正在开发一种向用户提供“实时”验证的表单,但我遇到了一个问题。

目标是在字段附近放置一个标签(在本例中为 JSpinner),以向用户显示数据是否被接受或拒绝,与基于 javascript 的 validator 的方式相同。

问题是,为了归档此内容,我需要设置相应标签的值,而我发现做到这一点的唯一方法是创建与字段一样多的 validator ,如下所示:

class MyVerifier extends InputVerifier{

static final double MAX_VALUE = 30;

@Override
public boolean verify(JComponent input) {
JTextField tf = (JTextField) input;
Double value = Double.parseDouble(tf.getText().replace(',', '.'));
return (value>1);
}

@Override
public boolean shouldYieldFocus(JComponent input) {
boolean isValid = super.shouldYieldFocus(input);
if (isValid) {
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("resources/accept.png")));
jLabel1.setText("");
} else {
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("resources/exclamation.png")));
jLabel1.setText("The number of items must be greater than 1");
}
return true;
}
}

然后,jLabel2 的代码相同...这一定是另一种方法。

提前致谢。

最佳答案

您可以为文本字段及其相关标签组件创建一个 HashMap 。然后,在 shouldYieldFocus 方法中,您检索正在验证的文本字段的相关标签。然后您可以适本地设置标签的文本/图标。

您可能还需要第二个 Hashmap,其中包含错误的标签和文本消息。

关于java - InputVerifier 和多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543458/

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