gpt4 book ai didi

Java - 文本字段的验证

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

(已解决)问题 1: 我正在尝试通过检查其值来向我的 2 个文本字段添加简单的验证。但是,对于下面的代码,我认为发生的情况是在程序启动时调用 try/catch (我使用 System.out.println() 进行了测试> 代码),因此总是会导致错误。如何才能使其仅在按下按钮 'Finish' 后才调用?
(未解决)问题 2:从我的第一个问题开始,我怎样才能做到这样,如果我的 if 或我的 try/catch返回“错误”,然后按“完成”按钮不会结束代码?

代码:

    Dialog<Pair<String, Integer>> dialog = new Dialog();
dialog.setTitle("Add new values");
dialog.setHeaderText("Please input name and number");
ButtonType finishButton = new ButtonType("Finish", ButtonData.OK_DONE);
dialog.getDialogPane().getButtonTypes().addAll(finishButton, ButtonType.CANCEL);
GridPane grid = new GridPane();
grid.setHgap(10);
grid.setVgap(10);

TextField name = new TextField();
name.setPromptText("Name");
TextField size = new TextField();
number.setPromptText("Number");

grid.add(new Label("Name:"), 0, 1);
grid.add(eventName, 1, 1);
grid.add(new Label("Number:"), 0, 3);
grid.add(eventSize, 1, 3);
dialog.getDialogPane().setContent(grid);

//verification code below
if (eventName.getText() == null || eventName.getText() == "") {
grid.add(new Label("Name is required!"), 0, 0);
}
try {
int size = Integer.parseInt(eventSize.getText());
} catch (NumberFormatException e) {
grid.add(new Label("Size is required!"), 0, 1);
System.out.println("Test failed");
}

这是我试图学习的代码:Here

最佳答案

首先,您必须使用 .equals() 方法比较字符串。我相信,但不是 100% 确定,对 null 的检查是不必要的。所以,改变:

if (eventName.getText() == null || eventName.getText() == "")

if (eventName.getText().equals(""))

我不熟悉Dialog类。然而,当我需要实现这样的东西时,我喜欢使用 JDialog ,并将其放入 while 循环中:

    JPanel p = new JPanel(new GridLayout(2,2));
JTextField nameField = new JTextField(5);
JTextField numberField = new JTextField(5);
JLabel nameLabel = new JLabel("Name");
JLabel numberLabel = new JLabel("Number");

p.add(nameLabel);
p.add(nameField);
p.add(numberLabel);
p.add(numberField);

while(true){
int result = JOptionPane.showConfirmDialog(null, p, "Please enter Name and Number.", JOptionPane.OK_CANCEL_OPTION);

if(result == JOptionPane.OK_OPTION){
if(nameField.getText().equals("")){
JOptionPane.showConfirmDialog(null, "Invalid input!");
}
else break;
}
}

此代码应指导您如何检查不同的输入,并相应地验证它们。请参阅JOptionPane有关您可以打开的不同对话框的更多详细信息。

希望这对您有帮助。

关于Java - 文本字段的验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44157453/

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