我想知道是否有任何方法可以将switch语句与actionListener一起使用而不是if-else语句。
我尝试了两件事:
1)尝试使用ae.getSource()作为开关
public void actionPerformed(ActionEvent ae)
{
switch(ae.getSource())
{
case b1:
//statement
break;
}
}
我发现这显然不起作用,因为ae.getSource()将返回对象
2)尝试将ae.getSource()值转换为String
public void actionPerformed(ActionEvent ae)
{
String src = ae.getSource().toString();
switch(src)
{
case "b1":
//statement
break;
}
}
这也行不通但我觉得值得一试。那么我有什么方法可以做到这一点,或者我应该依靠可信赖的If-Else。
答案 0 :(得分:1)
您可以这样使用它(因为它对我有用)
public void actionPerformed(ActionEvent ae)
{
switch(ae.getActionCommand())
{
case "b1":
//statement
break;
}
}