//你运行一下,看在你的电脑上能不能用。
//不能用的话肯定是坐标不对
//把mouseMoved方法里的注释去掉重新获取
import javaawtDimension;
import javaawtMouseInfo;
import javaawtPoint;
import javaawtRobot;
import javaawteventActionEvent;
import javaawteventActionListener;
import javaawteventMouseEvent;
import javaawteventMouseMotionListener;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingWindowConstants;
public class MouseHelp extends javaxswingJPanel implements MouseMotionListener {
private JButton textButton;
Robot robot;
/
Auto-generated main method to display this
JPanel inside a new JFrame
/
public static void main(String[] args) {
JFrame frame = new JFrame();
framegetContentPane()add(new MouseHelp());
framesetDefaultCloseOperation(WindowConstantsDISPOSE_ON_CLOSE);
framepack();
framesetVisible(true);
}
public MouseHelp() {
super();
initGUI();
}
private void initGUI() {
try {
robot=new Robot();
addMouseMotionListener(this);
setPreferredSize(new Dimension(400, 300));
thissetLayout(null);
{
textButton = new JButton();
thisadd(textButton);
textButtonsetText("\u8fd0 \u884c");
textButtonsetBounds(136, 72, 127, 22);
textButtonaddActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
robotmouseMove(30,745);
try {
Threadsleep(1000);
robotmousePress(MouseEventBUTTON1_MASK);
robotmouseRelease(MouseEventBUTTON1_MASK);
Threadsleep(1000);
robotmouseMove(150,481);
robotmousePress(MouseEventBUTTON1_MASK);
robotmouseRelease(MouseEventBUTTON1_MASK);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1printStackTrace();
}
}});
}
} catch (Exception e) {
eprintStackTrace();
}
}
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
}
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
//从这里获取鼠标的全局坐标
//Point mousepoint = MouseInfogetPointerInfo()getLocation();
//Systemoutprintln(mousepointx+"\t"+mousepointy);
}
}
关键是这一句setMouseTracking(true);加在构造函数里面,根据qt的帮助文档,mousemoveEvent事件如果mouserTrack为false,那么只有鼠标按下才会执行,而且默认是false,所以需要把窗口事件设置一下
然后就简单了
protected:void mouseMoveEvent(QMouseEvent event);//添加mouseMover事件响应
//下面具体代码
void GetMousePoint::mouseMoveEvent(QMouseEvent event)
{
QString pStr("%1,%2");
pStr = pStrarg(event->pos()x())arg(event->pos()y());//这里pos是坐标,你把坐标按比例转换为你的刻度尺就可以了
ui->label->setText(pStr);
}
VBA里,如何获取鼠标坐标? Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Type POINTAPI
X As Long
Y As Long
End Type
Public Function getmouse_x_y() As POINTAPI
GetCursorPos getmouse_x_y
End Function
sub test()
'call getmouse_x_y '调用“获取鼠标坐标值过程”(假定你们给的过程/程序,名叫getmouse_x_y)
if getmouse_x_yx>100 and getmouse_x_yy>100 then …… '根据返回当前鼠标的坐标值执行某过程/程序
……
end sub
vb 获取鼠标坐标
建一个Timer1,Text1,Text2
代码如下。
============
Private Type POINTAPI
x As Long
y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Dim p As POINTAPI
Private Sub Form_Load()
Timer1Interval = 10
End Sub
Private Sub Timer1_Timer()
GetCursorPos p
Text1Text = px
Text2Text = py
End Sub
如何获取在控件Canvas里面的鼠标坐标
int
getX()
返回组件原点的当前 x 坐标。
int
getY()
返回组件原点的当前 y 坐标。
这是JComponent 类提供的方法 javaswing 包中的所有控件都继承了这个类
js怎么获取鼠标坐标?
亲,这个有兼容性问题,用clientX代替pageX,clientY代替pageY就可以了 <script> windowonload=function() { documentonmousemove=function(ev) { var oEvent=ev||event; alert("x坐标是:"+oEventclientX+",y坐标是:"+oEventclientY); } }</script>
如何在AS3的as文件里面获取鼠标坐标
通过显示对象的mouseX和mouseY获取
获取舞台全局的位置stagemouseXstagemouseY 获取在指定对象上的鼠标位置mcmouseXmcmouseY
Flash Mx 2004 怎么获取鼠标坐标
变量1=_root_xmouse;
变量2=_root_ymouse;
MC的角度跟着鼠标~代码
m_x =_root_xmouse-mc_x;
m_y =_root_ymouse-mc_y;
mc_rotation= PI=180/MathPIMathatan2(m_y, m_x);
as20怎么获取鼠标坐标?
在舞台上先设两个文本,分别用来获取鼠标坐标;
实例分别命名为MouseX和MouseY。
var curFrame:Number = 24;输入这个影片的帧频,这里默认为24,你需要自己设置
var times:Number = 05;获取的间隔,这里默认为05秒,按您说的
var i:Number = 0;
var getMouseX:Number;定义存放x坐标的变量
var getMouseY:Number;定义存放y坐标的变量
onEnterFrame = function()
{
i++;
if (i % (curFrametimes)==0)
{
getMouseX = _xmouse;
getMouseY = _ymouse;
}
_rootMouseX = getMouseX;
_rootMouseY = getMouseY;
}
随着鼠标的移动,舞台上的两个文本的值就变化了。
au3怎样获取鼠标坐标
你需要用到MouseGetPos() 函数,这个函数的作用是返回当前鼠标的坐标,坐标是一个数组
给你举个简单的例子
#include <Arrayau3>
Case $Button2 ;按下按钮
$a=MouseGetPos() ;返回当前鼠标位置的坐标,$a的坐标是一个数组
_ArrayDisplay($a) ;显示数组
如何获取鼠标的坐标vc
GetCursorPos(&point);
VB如何获取实时鼠标坐标xy并输出到文本框?
API可以帮你实现!
全部重新改了,代码如下
// mainwindowh 头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QStatusBar>
#include <QMouseEvent>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget parent = 0);
~MainWindow();
protected:
void mouseMoveEvent(QMouseEvent );
private:
QStatusBar m_pStatus;
};
#endif // MAINWINDOW_H
//mainwindowcpp
#include "mainwindowh"
MainWindow::MainWindow(QWidget parent)
: QMainWindow(parent)
{
setMouseTracking(true);
m_pStatus = new QStatusBar();
setStatusBar(m_pStatus);
m_pStatus->showMessage("application init ok!");
}
void MainWindow::mouseMoveEvent(QMouseEvent event)
{
QPoint pos = event->pos();
m_pStatus->showMessage(QString("x:%1,y:%2")arg(posx())arg(posy()));
}
MainWindow::~MainWindow()
{
}
经过测试,完全ok,唉
吸使用以下几种方式获取:
1PageX/PageX:鼠标在页面上的位置,从页面左上角开始,即是以页面为参考点,不随滑动条移动而变化
2clientX/clientY:鼠标在页面上可视区域的位置,从浏览器可视区域左上角开始,即是以浏览器滑动条此刻的滑动到的位置为参考点,随滑动条移动 而变化
可是悲剧的是,PageX只有FF特有,IE这个悲剧没有啊T_T,所以大牛们想出了一个办法
PageY=clientY+scrollTop-clientTop;(只讨论Y轴,X轴同理,下同)
3screenX/screenY:鼠标在屏幕上的位置,从屏幕左上角开始(w3c标准)
4offsetX/offsetY:IE特有,鼠标相比较于触发事件的元素的位置,以元素盒子模型的内容区域的左上角为参考点,如果有boder,可能出现负值
5
layerX/layerY:FF特有,鼠标相比较于当前坐标系的位置,即如果触发元素没有设置绝对定位或相对定位,以页面为参考点,如果有,将改变参考坐标系,从触发元素盒子模型的border区域的左上角为参考点也就是当触发元素设置了相对或者绝对定位后,layerX和offsetX就幸福地生活在一起^-^,几乎相等,唯一不同就是一个从border为参考点,一个以内容为参考点
chrome和safari一条龙通杀!完全支持所有属性其中(offsetX和layerX都是以border为参考点)
下面这个是获取相对于屏幕的坐标
documentonmousemove=function(e){e=e e:windowevent;documentwriteln("X:"+escreenX+"Y:"+escreenY);}
以上就是关于java获取鼠标坐标全部的内容,包括:java获取鼠标坐标、Qt跟踪鼠标 显示鼠标位置、VBA里,如何获取鼠标坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)