你如何构建MouseEvent?

时间:2014-12-11 18:44:37

标签: java mouseevent

我知道这个问题非常简单,但我无法弄清楚如何构建它。它似乎有很多参数,我不仅不知道要放入什么,而且我甚至不知道组件是什么。如果有人能够解释使用基本概念,那就太好了。感谢

2 个答案:

答案 0 :(得分:0)

您需要3个步骤: 1.您必须在GUI类中实现Mouselistener接口 2.将侦听器添加到应该侦听的GUI元素 3.为特定的鼠标事件实现事件监听器(在将接口添加到类之后,编译器也需要) 求助:来自Oracle https://docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

的教程

答案 1 :(得分:0)

没有MouseListener,无法有效使用MouseEvent。

要使用MouseListener,您必须使用:

public class StackTest implements MouseListener{
public static void main(String[] args){

}
public void mouseClicked(MouseEvent arg0){
}
public void mouseEntered(MouseEvent arg0){
}
public void mouseExited(MouseEvent arg0){
}
public void mousePressed(MouseEvent arg0){
}
public void mouseReleased(MouseEvent arg0){
}

或者,你会使用

    component.addMouseListener(new MouseListener(){
        public void mouseClicked(MouseEvent arg0){
        }
        public void mouseEntered(MouseEvent arg0){
        }
        public void mouseExited(MouseEvent arg0){
        }
        public void mousePressed(MouseEvent arg0){
        }
        public void mouseReleased(MouseEvent arg0){
        }
    });

只要组件能够在其中实现MouseListener,就可以正常工作。这五种方法也是必需的,它们都有自己的调用。

  • 的mouseClicked

    当用户按下组件内鼠标上的任何按钮时,将调用此方法。

  • 的mouseEntered

    当用户的鼠标进入组件的区域时调用此方法。

  • 的mouseExited

    当用户的鼠标离开组件的区域时调用此方法。

  • 的mousePressed

    当用户在组件上按下鼠标左键时会调用此方法。

  • 的mouseReleased

    当用户在按下组件后释放鼠标上的任何按钮时,将调用此方法

注意: mouseClicked将在mouseReleased之前调用 ALWAYS ,分别与mouseEntered和mouseExited相同。

无论是否有任何代码,也会调用这些方法。

现在,component是一个从Component类下降的对象。组件是JButtons,JPanels,JFrame等等,您看到的所有现代组件都来自javax.swing包。例如,您可能已经看过JOptionPane

JOptionPane只是一个JFrame,一个JLabel和一个JButton。

所有这些都是可以拥有Event Listener的组件。 event listener正如它所说的那样。它会侦听特定事件。例如MouseListener,侦听涉及用户鼠标的事件。

您可以详细了解组件here

相关问题