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

标签 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() 值转换为字符串

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/

相关文章:

java - 如何在集成测试中使用自定义bean定义覆盖Spring Bean?

java - 大查询 API 异常

java - ReplaceAll 不适用于 String[] 元素

java - 使用 Gin 编译时遇到问题

java - 使用 timepickerdialog 选择了错误的时间

java - 停止无限循环paint()方法?用paint()添加JButton?

java - 从 java WS 生成 WSDL

java - 我应该如何在作为 gwt 组件的对象上设置自定义样式?

java - 模式观察者和Spring

java - 强制 Hibernate 或一般 JPA 供应商使用具有多个值的 INSERT INTO?