使用方法时
public boolean mouseDown(Event e, int x, int y)
在Java中,Event对象的作用是什么?我正在尝试编写一个程序,其中包括有人点击创建的矩形
g.fillRect(horizontal position,vertical position,height,width);
我假设您使用mousedown方法使用事件处理来获取矩形上的点击,但您如何做到这一点?请在你的回答中举例说明。我在谷歌上做了研究,没有发现任何东西,即使是真正特定的搜索。非常感谢您的帮助!
mouseDown是一个鼠标事件。您需要做的是向程序中添加一个事件侦听器,这样当单击鼠标时,事件处理程序就会调用一个方法。在这个方法中,你想看看鼠标的x,y位置是否在矩形内。
您将需要实现MouseListener"实现MouseLister"
// 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
Event对象包含类似的信息
- 事件的x和y坐标
- 发生事件的目标组件
- 当偶数发生时
它还提供了许多其他信息
注意:该方法已被弃用,取而代之的是processMouseEvent()。
正如您所问的这个
in Java, what does the Event object do or what is it used for?
-首先有Event Source
,当在事件源上发生任何操作时,Event Object
会被抛出到call back
方法。
-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坐标。然后是它在回调方法中抛出的事件对象,该方法需要由实现此Listener的类。
-最好使用MouseListener Interface
的mousePressed
方法。
请参阅此链接:
http://docs.oracle.com/javase/6/docs/api/java/awt/event/MouseListener.html#mousePressed%28java.awt.event.MouseEvent%29