【问题标题】:Mouse event e (Jpanel) Java help鼠标事件 e (Jpanel) Java 帮助
【发布时间】:2010-11-20 21:39:27
【问题描述】:

我想要一个用于 JFrame 中的 JTabbedPane 内的 JPanel 的 MouseListener...
每当单击/按下鼠标时,我都希望它打印一些东西。
我试过环顾四周,但是当我尝试实现它时,我在这一行出现错误:

public class GUI implements ActionListener, MouseListener

这是错误:

GUI 不是抽象的,也不是 覆盖java.awt.event.MouseListener中的抽象方法mouseExited(java.awt.event.MouseEvent)

这是什么意思?

P.S(我想要的 JPanel/tab 位被称为:displayMainPanel)
非常感谢。

【问题讨论】:

    标签: java swing mouselistener


    【解决方案1】:
    JPanel jPanel = new JPanel();
    jPanel.addMouseListener(new java.awt.event.MouseAdapter() {
                    public void mouseClicked(java.awt.event.MouseEvent evt) {
                        System.out.println("mouseClicked");
                    }
                    public void mouseEntered(java.awt.event.MouseEvent evt) {
                        System.out.println("mouseEntered");
                    }
                    public void mouseExited(java.awt.event.MouseEvent evt) {
                        System.out.println("mouseExited");
                    }
                    public void mousePressed(java.awt.event.MouseEvent evt) {
                        System.out.println("mousePressed");
                    }
                    public void mouseReleased(java.awt.event.MouseEvent evt) {
                        System.out.println("mouseReleased");
                    }
                });
    

    【讨论】:

      【解决方案2】:

      好吧,你必须覆盖mouseExit

      在您的GUI 班级中:

      @Override
      public void mouseExit(MouseEvent e) { /* Do nothing */ }
      

      当所有错误都消失了。别忘了yourPanel.addMouseListener(theMouseListener)

      yourPanel.addMouseListener(theObjectOfTheClassWhichImplementsTheListener);
      

      然后将焦点设置在面板上,以确保捕获事件。

      yourPanel.requestFocus();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-21
        • 2010-11-02
        • 2011-03-04
        相关资源
        最近更新 更多