Java异常弹出窗口

时间:2016-12-23 10:27:19

标签: java exception joptionpane

我的问题是当用户输入错误的输入时如何制作弹出消息,它与正确的颜色填充正确的字符串(rood,groen,oranje)有关,但是当他没有放入时文本字段中的任何内容或错误的名称(字符串)都应该使用弹出窗口返回错误。

以下代码段:

Java class snippet:

    int Kleurteller;
    for (Kleurteller = 1; Kleurteller <= 7; Kleurteller++) {
        if (kleur != null) {
            if (kleur.equals("rood")) {
                g.setColor(Color.red);
                g.fillOval(795, 45, 30, 30);
            } else if (kleur.equals("groen")) {
                g.setColor(Color.green);
                g.fillOval(795, 45, 30, 30);
            } else if (kleur.equals("oranje")) {
                g.setColor(Color.orange);
                g.fillOval(795, 45, 30, 30);
            }
            else {
            try{}
            catch (Exception e){
            JOptionPane.showMessageDialog(null, "geen juiste kleur opgegeven, kies rood, groen of oranje");

            }

            }

        }
    }

在我的mainclass中,我有一个文件的路径,所以它将运行它。 (SetContentPane)。

当用户在文本字段中放错了内容时,当前不再显示红线。不要弹出我的程序所需的弹出屏幕

1 个答案:

答案 0 :(得分:2)

让try / catch离开:

 int Kleurteller;
    for (Kleurteller = 1; Kleurteller <= 7; Kleurteller++) {
        if (kleur != null) {
            if (kleur.equals("rood")) {
                g.setColor(Color.red);
                g.fillOval(795, 45, 30, 30);
            } else if (kleur.equals("groen")) {
                g.setColor(Color.green);
                g.fillOval(795, 45, 30, 30);
            } else if (kleur.equals("oranje")) {
                g.setColor(Color.orange);
                g.fillOval(795, 45, 30, 30);
            }
            else {
                JOptionPane.showMessageDialog(null, "geen juiste kleur opgegeven, kies rood, groen of oranje");
            }
        }
    }

顺便说一下,我建议你总是用小写字母开始变量名,这样可以更容易地区分类名和变量名。

如果你这样做,你甚至不必检查kleur是不是null

        if ("rood".equals(kleur)) {
            g.setColor(Color.red);
            g.fillOval(795, 45, 30, 30);
        } else if ("groen".equals(kleur)) {
            g.setColor(Color.green);
            g.fillOval(795, 45, 30, 30);
        } else if ("oranje".equals(kleur)) {
            g.setColor(Color.orange);
            g.fillOval(795, 45, 30, 30);
        }
        else {
            JOptionPane.showMessageDialog(null, "geen juiste kleur opgegeven, kies rood, groen of oranje");
        }