Java 使用开关盒组件在颜色之间进行选择(下拉列表中的值)
作为学校作业,我需要用java中的Java 使用开关盒组件在颜色之间进行选择(下拉列表中的值),java,drop-down-menu,colors,switch-statement,paintcomponent,Java,Drop Down Menu,Colors,Switch Statement,Paintcomponent,作为学校作业,我需要用java中的paintcomponent绘制一个苹果树。用户必须能够从下拉列表中选择颜色,这将改变苹果的颜色 这就是我被困的地方。我尝试在开关盒中创建颜色,但这导致了一些错误 下面您看到的并不是全部代码,而是苹果所必需的部分。 我认为,出于某种原因,java不执行switch case 提前谢谢 // get the values from the dropbox private void jComboBoxKleurActionPerformed(java.awt.eve
paintcomponent
绘制一个苹果树。用户必须能够从下拉列表中选择颜色,这将改变苹果的颜色
这就是我被困的地方。我尝试在开关盒中创建颜色,但这导致了一些错误
下面您看到的并不是全部代码,而是苹果所必需的部分。
我认为,出于某种原因,java不执行switch case
提前谢谢
// get the values from the dropbox
private void jComboBoxKleurActionPerformed(java.awt.event.ActionEvent evt)
{
appel = (String)jComboBoxKleur.getSelectedItem();
repaint();
}
// create the colors for the apples (kleur means color in dutch & appel means apple in dutch)
switch (appel){
case "Gifgroen":
Color kleur = new Color(184, 208, 68);
break;
case "Rood":
Color kleur = new Color(142, 41, 13);
break;
case "Geelgroen":
Color kleur = new Color(215, 255, 1);
break;
default:
Color kleur = new Color(142, 41, 13);
break;
}
//draw the apples
g.setColor(kleur);
g.fillOval(30, 650, 40, 40);
g.setColor(Color.black);
g.fillRect(50, 640, 5, 10);
虽然你没有说你犯的一系列错误:我可以很容易地假设,它首先说的是: 变量
kleur
已经定义:是,因为您已经在第一个案例中声明了kleur,并且它属于开关的块。任何后续的kleur
声明都是不必要的。
从case
语句中的Color kleur
中删除Color
。而是在开关
块之外声明您的颜色kleur
Color kleur; // <--- here declaring it
switch (appel){
case "Gifgroen":
kleur = new Color(184, 208, 68); // ere initializing it if needed
break;
case "Rood":
kleur = new Color(142, 41, 13);
break;
// other cases
default:
kleur = new Color(142, 41, 13);
break;
}
Color kleur;//这个编译吗?太奇怪了,谢谢你,它成功了!我没有发布错误,因为我认为问题的解释更清楚,不管怎样,你理解我的意思,问题得到了解决。谢谢你的时间和努力