Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 几乎完成…一个错误选项框出现问题_Java - Fatal编程技术网

Java 几乎完成…一个错误选项框出现问题

Java 几乎完成…一个错误选项框出现问题,java,Java,我的任务差不多完成了。耶!但是我的处理程序有两个问题。首先,我有一个public void itemStateChanged(ItemEvent e)方法,该方法应该将注册者的姓名打印到文本字段中,并加上注册的类型(学生、企业、免费)。我有这个工作,只是它打印两次到文本区域。我不明白。此外,还有一个“计算费用”按钮,用于……嗯,计算费用。单击按钮时,动作事件应进行检查,以确保组合框(在名为regPanel的类中)没有“请选择注册类型”,即对象数组中的元素0。按照我现在的方式,如果我没有从组合框中

我的任务差不多完成了。耶!但是我的处理程序有两个问题。首先,我有一个public void itemStateChanged(ItemEvent e)方法,该方法应该将注册者的姓名打印到文本字段中,并加上注册的类型(学生、企业、免费)。我有这个工作,只是它打印两次到文本区域。我不明白。此外,还有一个“计算费用”按钮,用于……嗯,计算费用。单击按钮时,动作事件应进行检查,以确保组合框(在名为regPanel的类中)没有“请选择注册类型”,即对象数组中的元素0。按照我现在的方式,如果我没有从组合框中选择某个内容(将其保留在元素0上),我会收到错误消息,但是程序无论如何都会打印到文本字段。这是不应该的。它应该只打印错误框,然后允许用户做出正确的选择。如有任何建议,将不胜感激。下面是课堂:

public class ConferenceHandler implements ActionListener, FocusListener, ItemListener
{
    protected final static String ERROR_TEXT = "Please enter a name";
    protected ConferenceGUI gui;  //reference the ConferenceGUI panel
    /**Constructor*/
    public ConferenceHandler(ConferenceGUI gui) {this.gui = gui;}     


            if (gui.regPanel.getRegType() == "Please select a type")
                JOptionPane.showMessageDialog(null, "Please select a registration type",
                    "Type Error",JOptionPane.ERROR_MESSAGE);
            //prints to textarea if registrant will be attending keynote or not
            else if (gui.regPanel.regCheckBox.isSelected())
                gui.textArea.append("\nKeynote address will be attended");
            else
做了更多的谷歌搜索,发现了两次触发itemStateChanged事件的问题。删除了所有额外的代码,因为我很确定我所需要的只是一个循环。当我放置一个while或do-while循环时,所发生的只是JOptionPane出现并且不会消失。不过,我需要验证用户是否输入了适当的复选框选择

我有这个工作,只是它打印两次到文本区域

你还没有发布一个SSCCE来演示你在previoius问题中被问到的问题

从实际问题中复制和粘贴几行代码无助于隔离问题

作为初学者,你需要学习如何简化问题。一旦简化了问题,就更容易发现和解决问题

在这种情况下,一个工作SSCCE大约需要20行代码。几行代码用于创建GUI,几行代码用于添加组件,几行代码用于创建ItemListener

发布你的SSCCE,我会发布你问题的答案。这是使用ItemListener时的常见错误。我可能会在没有看到SSCCE的情况下给出答案,但您需要学习如何在遇到更复杂的问题时创建SSCCE。所以这个问题是一个很好的开始


也许阅读Swing教程中关于的部分可以帮助您了解正在发生的事情。

在提出新问题之前,您应该投票并接受其他问题的答案,正如之前向您推荐的那样。我知道。我在上一篇文章中提到,我在注册时遇到了麻烦。我会想办法的,我只想在做作业之前把作业做完,然后让我的孩子上床睡觉,然后。我理解每个人都得到了巨大的帮助。我不是一个19岁的孩子(尽管我知道你不可能知道)。我已经长大了,可以做父母了。谢谢你的关心,我知道我没有使用最好的礼节,但我很快就会纠正。我只是再试一次,它不允许我创建一个开放的ID标签。我没有gmail、facebook或上述任何账户。我再次按照链接创建了一个新帐户,但再次失败。如果你和我在一起(试着为孩子们准备晚餐),我会喂你,甚至给你买杯咖啡。我们加拿大人非常感激。我非常感谢你的帮助,即使现在还没有转化为10个代表点。在那里,我去和愚蠢的雅虎签约了。甚至对你妻子的惩罚进行了投票……请注意,你不需要注册账户就可以投票/接受帖子。但拥有一个注册帐户总是更好:)我决不是想成为一个丁克,但正如我在我的帖子的代码部分之后所说的,我设法解决了双重解雇的问题。关于SSCCE,我认为你给了我一个很有价值的建议,当我没有沉浸在所有作业中,我一定会寻找一种更有效的方法来解决这个问题。我当然能感觉到更多的挫折感,我猜你有超过20000个代表,你已经在帮助讨厌的新朋友方面吃饱了。在我以前的职业生涯中,我必须帮助新人,我知道这是怎么回事。不管怎样,现在我唯一的问题是我无法让循环正常工作。我知道这只是一个简单的问题,但我现在看不出来。我不认为需要太多的代码,但有些人说,“发布更多代码!”我真的不知道该在哪里划界。我会说大约75%的时间,当我能够创建一个SSCCE来准确地说明问题并将其粘贴到一个新问题中时,我会停下来,因为答案突然出现在我面前。别搞错了:90%的计算机科学都能巧妙地解决问题,10%的计算机科学都能对问题进行编码。我希望答案能冲我而来。我一直在研究如何验证这一点,时间太长了……@glowcoder,没错@单位,那还不是SSCCE!你看过链接了吗?如何编译和执行该代码以查看您试图描述的问题?不要使用“==”来比较字符串。使用equals(…)方法。这是我得到的最后一个建议,直到发布一个合适的SSCCE。