尝试将switch-case与actionlistener一起使用

时间:2017-09-25 04:02:40

标签: java

我想知道是否有任何方法可以将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。

1 个答案:

答案 0 :(得分:1)

您可以这样使用它(因为它对我有用)

public void actionPerformed(ActionEvent ae)
{
    switch(ae.getActionCommand())
    {
       case "b1":
           //statement
           break;
    }
}