我的问题是当用户输入错误的输入时如何制作弹出消息,它与正确的颜色填充正确的字符串(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)。
当用户在文本字段中放错了内容时,当前不再显示红线。不要弹出我的程序所需的弹出屏幕
答案 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");
}