我试图让一个按钮调用另一个类中的方法来更新某些东西的颜色,但它没有按照我的预期运行.问题是颜色改变一次但从未改变过.
这是发生变化的文件:
public class Status
{
//initial conditions
Color pedLightColor = Color.RED;
Color warnLightsColor = Color.GREEN;
Boolean GatesUp= true;
Color drawbridgeColor = Color.green;
public Status()
{
}
public Color getPedestrianStatus()
{
return pedLightColor;
}
public void setPedestrianColor(Color c)
{
if(c.equals(Color.RED))
{
pedLightColor=Color.green;
System.out.println("Pedestrian Light color changed to " + pedLightColor);
}
else
{
pedLightColor=Color.red;
System.out.println("Pedestrian Light color changed to " + pedLightColor);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它被称为如下:
pedButton.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent event)
{
System.out.println("Control Unit/Pedestrian Button Clicked");
Status status = new Status();
status.setPedestrianColor(status.getPedestrianStatus());
System.out.println(status.getPedestrianStatus());
}
});
Run Code Online (Sandbox Code Playgroud)
目前我相信我通过调用setPedestrianColor()方法以当前颜色作为参数来更改颜色.但是我不确定为什么一旦你按下按钮第二次颜色应该是绿色所以它应该变回红色,但事实并非如此.任何有关我出错的建议都表示赞赏.
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |