java - 我的 MVC 监听器如何区分不同的按钮

标签 java model-view-controller awt

这是我第一次尝试 MVC 设计模式,我试图弄清楚我的 Controller 类如何判断何时按下不同的按钮,以及如何将其传递给模型

public void addController(ActionListener controller){
    System.out.println("View      : adding controller");
    btnGo.addActionListener(controller);
    btnBack.addActionListener(controller);
} 

这就是我将其发送到 Controller 的方式:

public void actionPerformed(java.awt.event.ActionEvent e){
    System.out.println("Controller: acting on Model");
    model.actionGo();
} 

我只能执行一项操作。

最佳答案

您可以在监听器中使用 if case 来区分按钮等。

public void actionPerformed(ActionEvent e) { 
    if (e.getSource() == btnGo){
        //perform action when btnGo clicked
    }
    if (e.getSource() == btnBack){
        //perform action when btnBack clicked
    }
}

关于java - 我的 MVC 监听器如何区分不同的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29920313/

相关文章:

java - 程序在 Eclipse 中编译,但不在命令提示符中编译

Java在设置组件大小时重用Dimension对象

java - 单击按钮时将标签添加到面板

Java:光标如何自动从一个 TextField 移动到另一个

java - 循环遍历值

java - 关于在java中创建动态数组

java - Android 应用程序中的错误 - 崩溃

java - spring security - 如何提供拦截 URL 的列表

在 codeigniter 的另一个 View 中加载 View 时,HTML 元素放错了位置

javascript - AngularJS 真的是 MVC 吗?