java - 在一个类中重写多个类的多个方法

标签 java swing events actionlistener keylistener

public class EventController extends MouseAdapter implements ActionListener {

    private EventModel model;
    private EventView  view;
    String tableClick;
    Events events;    

    /** Constructor */
   public EventController(EventModel myModel, EventView myView){
       model = myModel;
       view = myView;     
   }

   public void setUpListeners() {
       this.view.addEventButton.addActionListener(this); 
       this.view.addEventMenuItem.addActionListener(this);
       this.view.editEventMenuItem.addActionListener(this);
       this.view.tableEvent.addMouseListener(this);                
   }

   @Override
   public void actionPerformed(ActionEvent e){
       Object button = e.getSource();
       if(button==this.view.addEventButton) {
           setEventDetails();          
       }                
   }

   @Override
   public void mouseClicked(java.awt.event.MouseEvent event) {
      int rowSelected = view.tableEvent.getSelectedRow();
       //blahblahblah
      view.changeDisplay(events);
    }

如何覆盖 KeyListener 类的方法 keyPressed 就像我对 mouseClickedActionPerformed 所做的那样 我真的不知道不想覆盖 keyTypedkeyReleased,只是 keyPressed 本身。交互发生在另一个名为 VIEW 的类中

最佳答案

你不能,因为你在 Java 中仅限于单一继承。因此,您必须实现 KeyListener,并为这两个方法提供实现(什么都不做)。

更好的设计是分离职责,鼠标事件有一个类, Action 事件有一个类,键事件有第三个类。这些类可以实现为匿名内部类。

关于java - 在一个类中重写多个类的多个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14482083/

相关文章:

java - 加载 java 属性时出现问题

java - 为什么 Eclipse 插件开发中的 Properties load 方法失​​败?

java - 有人可以帮我在单击 JAVA Jbutton 时添加文本吗?

javascript - Tablesorter 事件源不够具体。取消排序

ios - 从 Storyboard 设置 IBAction 时获取 'Touch Drag Inside' 距离

java - Android 将我的应用程序添加到库中的 "Share"按钮

java - 使用 jpa(MYSQL) 创建一对多关系

java - 如何通过单击取消选择已选择的 JRadioButton

java - 使用复选框的流布局

javascript - 更改从事件监听器获取 URL?