我正在用Java编写一个小应用程序,每分钟点击屏幕上的十个不同位置,持续10分钟。但在点击之前我想通过点击屏幕并存储x& y在arraylist中的坐标。
我已经读过我可以通过使用MouseInfo来获取它但是我想在单击鼠标时获取坐标(可能不包括在组件上)。那怎么做呢?
我是否必须创建一个占据整个屏幕并通过这种方式获取坐标的透视组件?或者有更好的方法来解决这个问题吗?
答案 0 :(得分:4)
试试这个...
Ex:代码 mousemoved事件:
x=event.getX();
y=event.getY();
mouseclicked事件:
// use Event object e or event to get value of
x=event.getX();
y=event.getY();
// this is more easy than the mousemoved event..
for(...) {
if(x > rectangle[i].getMin && rectangle[i].getMax < x
&& y > rectangle[i].getMin && rectangle[i].getMax < y)
{
// your action..
}
else
{
}
}
答案 1 :(得分:0)
我决定只制作一个半透明的窗口,大小与屏幕一样(几乎看不见),并以这种方式收集鼠标位置。它似乎工作,但我希望我不必绘制额外的组件。
总结(对于那些关心的人):
到目前为止,这似乎是我最好的选择,除非其他人很快提到一个:)