我的问题是,当用户输入错误的输入时,如何制作弹出消息,这与用正确的颜色填充正确的字符串(rood、groen、oranje)有关,但是当他没有输入时文本字段中的任何内容或错误的名称(字符串)都应该返回错误并弹出窗口。
下面的片段:
Java 类片段:
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");
}
}
}
}
在我的主类中,我有一个文件路径,因此它将运行它。 (设置内容 Pane )。
当前,当用户在文本字段中输入错误的内容时,不再显示红线。没有出现我的程序需要的弹出屏幕
最佳答案
让 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");
}
关于Java异常弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41299628/