Java mouseDown Event对象

时间:2012-07-31 16:42:23

标签: java graphics event-handling

使用方法时

public boolean mouseDown(Event e, int x, int y)

在Java中,Event对象做了什么或者它用于什么?我正在尝试编写一个涉及某人点击由

创建的矩形的程序
g.fillRect(horizontal position,vertical position,height,width);

我假设你使用事件处理来使用mousedown方法获取矩形上的点击,但你怎么能这样做?请在答案中提供示例。我在Google上进行了研究,发现什么都没有,即使是非常具体的搜索。非常感谢!

3 个答案:

答案 0 :(得分:2)

Event对象包含

之类的信息
  1. x y 事件的坐标
  2. 事件发生的目标组件
  3. 时甚至发生了
  4. 它也提供了很多其他信息。
    注意:不推荐使用该方法,而选择processMouseEvent()。

答案 1 :(得分:2)

mouseDown是一个鼠标事件。您需要做的是向程序添加一个事件监听器,因此当单击鼠标时,事件处理程序会调用一个方法。在此方法中,您需要查看鼠标的x,y位置是否在矩形内。

您需要实现MouseListener“实现MouseListener”

// import an extra class for the MouseListener 
import java.awt.event.*;

public class YourClassName extends Applet implements MouseListener 
{
     int x = horizontal position;
     int y = vertical position;
     g.fillRect(x,y,width,height);
     addMouseListener(this); 

     // These methods always have to present when you implement MouseListener
     public void mouseClicked (MouseEvent mouseEvent) {} 
     public void mouseEntered (MouseEvent mouseEvent) {} 
     public void mousePressed (MouseEvent mouseEvent) {} 
     public void mouseReleased (MouseEvent mouseEvent) {}  
     public void mouseExited (MouseEvent mouseEvent) {}  

     public void mouseClicked (MouseEvent mouseEvent) {
     mouseX = mouseEvent.getX();
     mouseY = mouseEvent.getY();
     if(mouseX > x && mouseY > y && mouseX < x+width && mouseY < y+height){
         //
         // do whatever 
         //
     }
}

了解更多...... http://docs.oracle.com/javase/6/docs/api/java/awt/event/MouseListener.html

答案 2 :(得分:0)

正如你问过这个

in Java, what does the Event object do or what is it used for?

- 首先有Event Source,当事件来源发生任何操作时,会向Event Object投掷call back {1}} 方法

- Call Back方法是 Listener(接口)中的方法需要实施由实现此监听器的Class

- 此回调方法中的语句将指示在事件源上执行操作时需要完成的操作。

<强>例如

假设

  Event Source - Button
  When Clicked - Event object is thrown at the call back method
  Call back method - actionPerformed(ActionEvent e) inside ActionListener.

- 当鼠标按钮按下时,在您的示例中,会记下x和y坐标。       然后它在它的回调方法抛出的事件对象,需要由它处理       实现此侦听器的类。

- 最好使用mousePressed的{​​{1}}方法。

请看这个链接:

http://docs.oracle.com/javase/6/docs/api/java/awt/event/MouseListener.html#mousePressed%28java.awt.event.MouseEvent%29