gpt4 book ai didi

java - if 语句检查 Swing 组件是否为空

转载 作者:行者123 更新时间:2023-12-01 12:08:24 24 4
gpt4 key购买 nike

我当前正在编写 if 语句来检查 GUI 中的 swing 组件(JtextField 和 JcomboBox (x2))是否为空。我最初只是针对 JTextField 和两个 JComboBox 为空的情况做了一个 if 语句,因此显示错误对话框:

  if (NameOfCruise.equals("") && startLValue.equals("") && endLValue.equals("")) {
JOptionPane.showMessageDialog(Frame2,
"Please Complete Form.", "Error",
JOptionPane.ERROR_MESSAGE);
System.out.print("Please Complete Form.");
Frame2.setVisible(true);
}

然而,经过进一步思考,我发现还有更多的场景我没有考虑到。我意识到我需要以下场景的错误消息:1. Cruise Name、startL 或 endL 值均留空。2. 如果 Cruise Name 留空,但 StartL 和 EndL 都被选中。3. 如果 Cruise Name & StartL 留空,但 EndL 选择。4. 如果 Cruise Name 和 EndL 留空,但 StartL 选择。

&可能还有更多我还没有意识到的。我开始实现上述 if 语句,但遇到了问题。

这是迄今为止我的代码:

 // 2. Error message CruiseName left empty but StartL and EndL are both selected.
if(NameOfCruise.equals("") && !startLValue.equals("") || !endLValue.equals("")){
JOptionPane.showMessageDialog(Frame2,
"Please enter Cruise Name.", "Error",
JOptionPane.ERROR_MESSAGE);
System.out.print("Name of Cruise not entered. Please enter Cruise Name.\n");
Frame2.setVisible(true);
}

// 3. Error message if Name of Cruise & StartL left empty but EndL is selected.
if(startLValue.equals("") && NameOfCruise.equals("") || !endLValue.equals("")){
JOptionPane.showMessageDialog(Frame2,
"Please Select a Start Location.", "Error",
JOptionPane.ERROR_MESSAGE);
System.out.print("Select a start location.\n");
Frame2.setVisible(true);
}

问题:

如果您查看上面的代码,我测试 (3) 的方法是将 Cruise 名称和 StartL 位置留空并输入 EndL 值。不过,我从任务 (2) 中提出了错误对话框 - 这是合理的,因为巡航名称为空。

问题:1. 如何编写 if 语句以便为每种情况显示适当的错误消息?目前,我每条消息都会收到两个错误对话框。2. 有没有更好、更有效的方法来编码这些场景,而不是为每种情况使用 if 语句。3.你能建议我缺少的任何场景吗?

最佳答案

我要做的是,不要制作一万亿个不同的 if 语句,只需制作 3 个。一个用于 StartL 一个用于 EndL 和一个用于 NameOfCruise。它更紧凑、更简单,而且您不必为每个不同的组合场景创建 if 语句。

关于java - if 语句检查 Swing 组件是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27408649/

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