繁体   English   中英

带有多个动作侦听器的多个按钮

[英]Multiple button with multiple actionlistener

我正在做一个小型Java项目,并使用MVC图形用户界面进行编写。 在这个项目中,我有数十个具有不同功能的按钮。

由于我使用MVC进行编写,因此我不会使用匿名类侦听器。 我将在Controller类中分离actionlistener类。 因为我有数十个按钮,这意味着我需要为其创建数十个actionListioner类?

是否有任何方法可以简化代码?

MVC是一种使跟踪项目更容易的结构。 我认为这应该不是问题。 研究请有很多有关它的信息。 您应该使用e.getSource() 尝试这个:

JButton b1;
JButton b2;

public void actionPerformed(ActionEvent e) {
    if (e.getSource() == b1) {
    // Do something...
    }
    if (e.getSource() == b2) {
    // Do something else...
    }
}

请看这些:

一个动作侦听器,两个JButton

如何添加监听多个按钮的动作监听器

http://www.java2s.com/Tutorial/Java/0260__Swing-Event/Useoneinnerclasstohandleeventsfromtwobuttons.htm

对于人们来说,这始终是一件困难的事情。 与其让控制器担心实际的按钮,还不如担心允许视图执行的操作(即,视图可以执行的操作),该操作(可能会更新模型)。

因此,您的视图实际上将在内部处理按钮事件,但是,它不会更改状态本身,而是会通知控制器特定的状态已更改或已执行操作。

这种通信将通过一系列接口合同进行管理。 这意味着,特定的控制器希望控制特定类型的视图,但是它们并不关心实际的实现,只要保持两者之间的约定即可。

考虑到这一点,这意味着您的视图可以执行任何喜欢的操作并以其喜欢的方式生成“事件”,只要合同得到遵守并且您不会将视图的一部分暴露给视图的其他部分即可。没有理由引用的程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM