2

当您使用该方法时

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

在 Java 中,Event 对象有什么作用或用途是什么?我正在尝试编写一个程序,该程序涉及某人单击由

g.fillRect(horizontal position,vertical position,height,width);

我假设您使用事件处理来使用 mousedown 方法来获取矩形上的点击,但是您怎么能这样做呢?请在您的答案中提供示例。我在谷歌上做了我的研究,没有发现任何东西,即使是非常具体的搜索。非常感谢帮助!

4

3 回答 3

3

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

于 2012-07-31T17:43:50.190 回答
2

Event 对象包含如下信息

  1. 事件的xy坐标,
  2. 发生事件的目标组件
  3. 事情发生时

它还提供了许多其他信息。
注意:该方法已被弃用,取而代之的是 processMouseEvent()。

于 2012-07-31T16:43:22.483 回答
0

正如你所问的那样

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

-首先,当事件源上发生Event Source任何操作时,都会向方法Event Object抛出一个。call back

- Call Back方法是(接口)内部的方法, 需要由实现此侦听器的方法实现。ListenerClass

-当对事件源执行操作时,此回调方法中的语句将指示需要做什么。

例如:

认为

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

-您的示例中,当鼠标按钮按下时,会记录 x 和 y 坐标。然后是它在其回调方法中抛出的事件对象,需要由实现这个Listener的类来处理。

-最好使用mousePressed.MouseListener Interface

请参阅此链接:

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

于 2012-07-31T17:35:57.420 回答