Java mouseDown事件对象
当你使用这个方法的时候Java mouseDown事件对象,java,graphics,event-handling,Java,Graphics,Event Handling,当你使用这个方法的时候 public boolean mouseDown(Event e, int x, int y) 在Java中,事件对象做什么或用于什么?我试图写一个程序,涉及到有人点击一个矩形创建的 g.fillRect(horizontal position,vertical position,height,width); 我假定您使用事件处理来使用mousedown方法拾取矩形上的单击,但是如何才能做到这一点?请在回答中提供示例。我在谷歌上做了研究,但没有发现任何东西,即使是真正
public boolean mouseDown(Event e, int x, int y)
在Java中,事件对象做什么或用于什么?我试图写一个程序,涉及到有人点击一个矩形创建的
g.fillRect(horizontal position,vertical position,height,width);
我假定您使用事件处理来使用mousedown方法拾取矩形上的单击,但是如何才能做到这一点?请在回答中提供示例。我在谷歌上做了研究,但没有发现任何东西,即使是真正特定的搜索。非常感谢您的帮助 事件对象包含如下信息:
注意:该方法已被弃用,取而代之的是ProcessMouseeEvent()。如您所问
在Java中,事件对象做什么或用于什么?
-首先存在事件源
,当事件源上发生任何操作时,事件对象
被抛出到回调
方法
-回调
方法是侦听器
(接口)中的方法,该方法需要由实现此侦听器的类实现
-当对事件源执行操作时,此回调方法中的语句将指定需要执行的操作。
例如:
假定
Event Source - Button
When Clicked - Event object is thrown at the call back method
Call back method - actionPerformed(ActionEvent e) inside ActionListener.
-在您的示例中
当鼠标按钮按下时,会注意到x和y坐标。
然后在回调方法中抛出事件对象,该方法需要
实现此侦听器的类
-最好使用mouseslistener接口的mousePressed
方法
请参阅此链接:
鼠标向下是一个鼠标事件。您需要做的是向程序中添加一个事件侦听器,以便在单击鼠标时,事件处理程序调用一个方法。在该方法中,您希望查看鼠标的x、y位置是否在矩形内
您需要实现MouseListener“实现MouseListener”
//为MouseListener导入一个额外的类
导入java.awt.event.*;
公共类YourClassName扩展小程序实现MouseListener
{
int x=水平位置;
int y=垂直位置;
g、 fillRect(x,y,宽度,高度);
addMouseListener(这个);
//在实现MouseListener时,必须始终显示这些方法
public void mouseClicked(MouseEvent MouseEvent){}
公共无效mouseenterned(MouseEvent MouseEvent){}
public void mouseepressed(MouseEvent MouseEvent){}
公共无效MouseEvent(MouseEvent MouseEvent){}
public void mouseExited(MouseEvent MouseEvent){}
公共无效鼠标点击(MouseEvent MouseEvent){
mouseX=mouseEvent.getX();
mouseY=mouseEvent.getY();
if(mouseX>x&&mouseY>y&&mouseX
更多。。。
你真的应该附加一个单独的而不是覆盖ProcessMouseeEvent
…而mouseDown
等都是JDK 1.0.2的遗物,直接修改ProcessMouseeEvent
,而friends是JDK 1.1的遗物。那么我怎么知道这个人是否点击了矩形?将矩形的坐标与偶数进行比较t、 x和event.yGiven a,您可以使用任何重载的contains
方法…例如,rectangle.contains(event.getPoint())
其中event
是a。在没有a的情况下,您只能执行类似于…Point pt=event.getPoint()的操作;int x=pt.x;int y=pt.y;内部布尔值=x>=X1&&x=Y1&&y
// 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
//
}
}