我想知道是否有任何方法可以将 switch 语句与 actionListener 一起使用,而不是 if-else 语句。
我尝试了两件事:
1)尝试使用ae.getSource()作为开关
public void actionPerformed(ActionEvent ae)
{
switch(ae.getSource())
{
case b1:
//statement
break;
}
}
我发现这显然不起作用,因为 ae.getSource() 将返回对象
2)尝试将 ae.getSource() 值转换为字符串
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;
}
}
关于java - 尝试将 switch-case 与 actionlistener 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46397427/