java鼠标坐标是像素值

 我来答
1997排长
高粉答主

2016-01-10 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:822万
展开全部
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.EventListener;
class myMouseListener implements MouseMotionListener
{
public void mouseMoved(MouseEvent e){
int x=e.getX();
int y=e.getY();
String s="当前鼠标坐标:"+x+','+y;
MouseMove.lab.setText(s);
}
public void mouseDragged(MouseEvent e){};
}
public class MouseMove extends JFrame{
public static JLabel lab=new JLabel();
public MouseMove() {
}
public static void main(String [] args)
{
// MouseMove fm=new MouseMove("鼠标坐标测试");
JFrame fm=new JFrame("鼠标坐标测试");
JPanel fp=new JPanel();
fp.addMouseMotionListener(new myMouseListener());//对在面板上的鼠标移动进行监听。
Container con=fm.getContentPane();
fp.add(lab);
con.add(fp);
fm.setSize(500,400);
fm.setVisible(true);
fm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
子弹啊啊啊啊
2014-09-17
知道答主
回答量:9
采纳率:0%
帮助的人:5.1万
展开全部
是像素值
当分辨率变化时,其实如果能够得到相对屏幕的鼠标坐标,相对窗口的也就出来了。
我试了一下百分比的情况,不行。
代码如下:

HDC hdc=GetDC(NULL); //获得屏幕设备描述表句柄

int i=GetDeviceCaps(hdc,HORZRES); //查询屏幕水平分辨率,并返回在变量i中

int j=GetDeviceCaps(hdc,VERTRES); //查询屏幕垂直分辨率,并返回在变量j中

ReleaseDC(NULL,hdc); //释放屏幕设备描述表

sprintf(str,"水平分辨率:%d,垂直分辨率:%d\n",i,j);

//MessageBox(NULL,str,"屏幕分辨率",0);

Sleep(3000);

POINT lpPoint = {0};

::GetCursorPos(&lpPoint);

ScreenToClient(hwind, &lpPoint);

lpPoint.x = 553 * (float)i/1152;

lpPoint.y = 166 * (float)j/864;

SendMessage(hwind,WM_LBUTTONDOWN,MK_LBUTTON,MAKELONG(lpPoint.x, lpPoint.y));

SendMessage(hwind,WM_LBUTTONUP,MK_LBUTTON,MAKELONG(lpPoint.x, lpPoint.y));

sprintf(str,"水平坐标:%d,垂直坐标:%d\n",lpPoint.x,lpPoint.y);

MessageBox(NULL,str,"鼠标位置",0);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
完美主义ZX
2014-09-17 · 超过28用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:38.9万
展开全部
是的 是像素值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式