java获得鼠标相对于窗体的坐标

既然vb.net中能获得鼠标的相对于框体坐标,那java有什么方法呢?... 既然vb.net中能获得鼠标的相对于框体坐标,那java有什么方法呢? 展开
 我来答
GFP_Cold
推荐于2018-02-12 · TA获得超过817个赞
知道小有建树答主
回答量:683
采纳率:50%
帮助的人:539万
展开全部
有的,你可以去继承MouseEvent这个类,里面有个方法叫做,getXOnScreen()和getYOnScreen(),

getXOnScreen
public int getXOnScreen()

返回事件的绝对水平 x 坐标。在虚拟设备多屏幕环境中,桌面区域可以跨越多个物理屏幕设备,这些坐标相对于虚拟坐标系。否则,这些坐标相对于与
Component 的 GraphicsConfiguration 关联的坐标系。

返回:
x 表示绝对水平位置的整数。

getYOnScreen
public int getYOnScreen()

返回事件的绝对垂直 y 坐标。在虚拟设备多屏幕环境中,桌面区域可以跨越多个物理屏幕设备,这些坐标相对于虚拟坐标系。否则,这些坐标相对于与
Component 的 GraphicsConfiguration 关联的坐标系斗瞎缓岁。

返回:
y 表示绝对垂直位置的整数。

这空哪空个就是你在窗体(Frame里的位置了),希望能帮到你。
圣鸾OJ
2015-10-07 · TA获得超过1629个赞
知道小有建树答主
回答量:1136
采纳率:96%
帮助的人:108万
展开全部
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);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2014-03-22 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2280万
展开全部
MouseEvent类的getX,getY,getPoint和SwingUtilities的convertPoint方法组合使用。
追问
我用的是MouseInfo.getPointerInfo().getLocation();是相对于屏幕的坐标。
那我怎么用SwingUtilities的convertPoint进行转换?
追答
这个应该使用 convertPointToScreen 方法
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式