我想知道是否有什么方法可以将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。
最佳答案
您可以像这样使用它(因为它对我有用)
public void actionPerformed(ActionEvent ae)
{
switch(ae.getActionCommand())
{
case "b1":
//statement
break;
}
}