gpt4 book ai didi

java - JTextField + 对话框的输入验证

转载 作者:行者123 更新时间:2023-12-02 05:21:29 24 4
gpt4 key购买 nike

所以我的目标是验证 JTextField 的内容,以便确保我的 Athlete 对象的年龄在 6-99 之间。这是我到目前为止所拥有的。

JTextField ageTextField = new JTextField();

saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Integer age = Integer.parseInt(ageTextField.getText());

Athlete athlete = new Athlete(firstNameTextField.getText(),
lastNameTextField.getText(), gender, age, schoolNameBox
.getSelectedItem().toString(), teacherBox
.getSelectedItem().toString(), eventBox1
.getSelectedItem().toString(), eventBox2
.getSelectedItem().toString(), null);

}
});

所以基本上,如果用户单击“保存”并且 JTextField 的值不在 6-99 之间,我需要一种向用户显示错误对话框的方法。

我见过很多不同的方法来验证 JTextFields 上的输入,但没有任何适合我的具体情况。我正在寻找一种干净、简洁的方法来做到这一点。谢谢。

最佳答案

就您而言,就像...一样简单

Integer age = Integer.parseInt(ageTextField.getText());
if (age >=6 && age <= 99) {
// All is okay...
} else {
JOptionPane.showMessageDialog(this, "The age is out side of the valid range of 6-99", "Error", JOptionPane.ERROR_MESSAGE);
}

效果很好...

您可以使用 InputVerifier 来在字段失去焦点时验证该字段,请参阅 Validating Input了解更多详情。

您可以使用 JSpinner 来执行它自己的验证并允许您指定有效范围 (6-99),请参阅 How to Use Spinners了解更多详情

private JSpinner ageField;
//...
ageField= new JSpinner(new javax.swing.SpinnerNumberModel(6, 6, 99, 1));
//...
Integer age = (Integer)ageField.getValue();

关于java - JTextField + 对话框的输入验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26476573/

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