Java 根据程序状态为JButtons提供不同的功能?

Java 根据程序状态为JButtons提供不同的功能?,java,swing,model-view-controller,jbutton,actionlistener,Java,Swing,Model View Controller,Jbutton,Actionlistener,我正在为自动取款机构建一个GUI,它可以与银行模型交互。作为我任务的一部分,我只能创建14个键供用户用于控制程序:0-9个键,确定、清除、关闭和取消 我的问题是:由于这些按钮根据ATM的状态(登录、执行交易等)具有不同的功能,我如何以优雅的方式表示这些不同的功能 我最初的想法是在程序在状态之间导航时删除与每个按钮关联的任何ActionListener,然后插入与它所处的特定状态关联的ActionListener。然而,这似乎笨重而多余。有没有更好的方法来重新调整按钮的用途,或者根据状态读取不同的

我正在为自动取款机构建一个GUI,它可以与银行模型交互。作为我任务的一部分,我只能创建14个键供用户用于控制程序:0-9个键,确定、清除、关闭和取消

我的问题是:由于这些按钮根据ATM的状态(登录、执行交易等)具有不同的功能,我如何以优雅的方式表示这些不同的功能


我最初的想法是在程序在状态之间导航时删除与每个按钮关联的任何ActionListener,然后插入与它所处的特定状态关联的ActionListener。然而,这似乎笨重而多余。有没有更好的方法来重新调整按钮的用途,或者根据状态读取不同的目的?

好的,您可以随时重命名按钮的文本部分,然后解析ATM的状态以重定向到您想要运行的功能。

当我得到问题时,这不是一个有效的问题。因此,这不是设计问题的好地方。为每个状态设计一个模型,当状态改变时,将“正确”的模型重新分配给视图,这应该允许视图改变按钮的文本。然后,模型应负责在单击按钮时执行按钮的实际功能(视图将响应
ActionListener
,并告诉模型触发了什么
actionCommand