如何获取屏幕上的坐标,急!!!! 在跳出焦点(组件)之后,如何获取屏幕上的坐标,点一下鼠标左键,就输出坐标,同时点左键不会发生屏幕东西的变化,例如我要抓捕一个关闭按钮的坐标,我点了左键,没有响应关闭,而是获取了坐标 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <html><head><script type="text/javascript">function show_coords(event){x=event.clientXy=event.clientYalert("X coords: " + x + ", Y coords: " + y)}</script></head><body onmousedown="show_coords(event)"><p>左键,没有响应关闭,而是获取了坐标:<input type="button" value="关闭" onClick="alert("aaaaaaaaaaa")"></p></body></html> 看看我这个代码,是我从我做的程序抠下来的一部分,有你说的全部功能,另外还多了一些额外的小功能,你看看吧,不过需要需要稍微修改一下即可。原理:建立一个JFrame,JFrame.add(JPanel),取消显示JFrame的边框,然后把捕捉屏幕的当前图片,再把图片绘制到JPanel上,JPanel设置成屏幕大小,填满整个JFrame,那么你的任何操作,都是在JPanel上操作的,点鼠标左键后不会影响屏幕当前程序的关闭按钮,说是离开了焦点,实际还是在焦点上。利用其他方法也行,但不能实现你说的“点一下鼠标左键,就输出坐标,同时点左键不会发生屏幕东西的变化,例如我要抓捕一个关闭按钮的坐标,我点了左键,没有响应关闭,而是获取了坐标”功能import java.awt.BorderLayout;import java.awt.Color;import java.awt.Graphics;import java.awt.Point;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.image.BufferedImage;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class captureScreenPoint extends JFrame{ private static final long serialVersionUID = -892618460149315476L; private Robot robot; private int width,height; private BufferedImage bi; private screenPanel sp; private Rectangle rec; private JFrame jframe; private JPanel jpPoint; captureScreenPoint(JFrame j,JPanel jp){ try{ jframe=j; jpPoint=jp; jframe.setExtendedState(ICONIFIED); Thread.sleep(500);//睡500毫秒是为了让主窗完全不见 width=Toolkit.getDefaultToolkit().getScreenSize().width; height=Toolkit.getDefaultToolkit().getScreenSize().height; rec=new Rectangle(0,0,width,height); robot=new Robot(); bi=robot.createScreenCapture(rec); sp=new screenPanel(this); getContentPane().add(sp,BorderLayout.CENTER); setUndecorated(true); setSize(width,height); setAlwaysOnTop(true); setVisible(true); } catch(Exception exe){ exe.printStackTrace(); } } private class screenPanel extends JPanel implements MouseListener{ private static final long serialVersionUID = -4842859133256658306L; private Point point=new Point();//当前鼠标移的地点 private JFrame jf; private boolean showTip=false; private int num=0; public screenPanel(JFrame j){ jf=j; addMouseListener(this); } public void paintComponent(Graphics g){ g.drawImage(bi,0,0,width,height,this); if(showTip){ g.setColor(Color.RED); g.drawOval(point.x-2,point.y-2,4,4); } } public void mouseClicked(MouseEvent me) { if(me.getButton()==MouseEvent.BUTTON1){ if(num<10){ if(num==0) jpPoint.removeAll(); showTip=true; num++; point=me.getPoint(); repaint(); if(num==1){ jpPoint.add(new JLabel("序号")); jpPoint.add(new JLabel("横坐标")); jpPoint.add(new JLabel("纵坐标")); } jpPoint.add(new JLabel(""+num)); jpPoint.add(new JLabel(""+point.x)); jpPoint.add(new JLabel(""+point.y)); } else{ jf.dispose(); jframe.setExtendedState(JFrame.NORMAL); jframe.setVisible(true); } }else{ jf.dispose(); jframe.setExtendedState(JFrame.NORMAL); jframe.setVisible(true); } } public void mousePressed(MouseEvent me) {} public void mouseReleased(MouseEvent me) {} public void mouseEntered(MouseEvent me) {} public void mouseExited(MouseEvent me) {} }} 贪吃蛇 迅雷下载局域网内的文件 java怎么读取txt文件 linux 服务器 mysql 数据库 如何在两台服务器之间座数据库迁移,数据异常大? 我新来的!!! 代码抛出异常 java.lang.NullPointerException,请高手帮忙解决。 怎样能快速的得到排名 请问怎么在设置了皮肤的情况下,个别控件不使用皮肤呢? 如何用java封装c++库 请教java打印.txt文件,急呀~! java如何实现填充算法,谢谢啦~ 怎么实现一个网站登陆代码的安全性
<html>
<head>
<script type="text/javascript">
function show_coords(event)
{
x=event.clientX
y=event.clientY
alert("X coords: " + x + ", Y coords: " + y)
}
</script>
</head><body onmousedown="show_coords(event)">
<p>左键,没有响应关闭,而是获取了坐标:<input type="button" value="关闭" onClick="alert("aaaaaaaaaaa")"></p></body>
</html>
“点一下鼠标左键,就输出坐标,同时点左键不会发生屏幕东西的变化,例如我要抓捕一个关闭按钮的坐标,我点了左键,没有响应关闭,而是获取了坐标”功能import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class captureScreenPoint extends JFrame{
private static final long serialVersionUID = -892618460149315476L;
private Robot robot;
private int width,height;
private BufferedImage bi;
private screenPanel sp;
private Rectangle rec;
private JFrame jframe;
private JPanel jpPoint;
captureScreenPoint(JFrame j,JPanel jp){
try{
jframe=j;
jpPoint=jp;
jframe.setExtendedState(ICONIFIED);
Thread.sleep(500);//睡500毫秒是为了让主窗完全不见
width=Toolkit.getDefaultToolkit().getScreenSize().width;
height=Toolkit.getDefaultToolkit().getScreenSize().height;
rec=new Rectangle(0,0,width,height);
robot=new Robot();
bi=robot.createScreenCapture(rec);
sp=new screenPanel(this);
getContentPane().add(sp,BorderLayout.CENTER);
setUndecorated(true);
setSize(width,height);
setAlwaysOnTop(true);
setVisible(true);
} catch(Exception exe){
exe.printStackTrace();
}
}
private class screenPanel extends JPanel implements MouseListener{
private static final long serialVersionUID = -4842859133256658306L;
private Point point=new Point();//当前鼠标移的地点
private JFrame jf;
private boolean showTip=false;
private int num=0;
public screenPanel(JFrame j){
jf=j;
addMouseListener(this);
}
public void paintComponent(Graphics g){
g.drawImage(bi,0,0,width,height,this);
if(showTip){
g.setColor(Color.RED);
g.drawOval(point.x-2,point.y-2,4,4);
}
}
public void mouseClicked(MouseEvent me) {
if(me.getButton()==MouseEvent.BUTTON1){
if(num<10){
if(num==0)
jpPoint.removeAll();
showTip=true;
num++;
point=me.getPoint();
repaint();
if(num==1){
jpPoint.add(new JLabel("序号"));
jpPoint.add(new JLabel("横坐标"));
jpPoint.add(new JLabel("纵坐标"));
}
jpPoint.add(new JLabel(""+num));
jpPoint.add(new JLabel(""+point.x));
jpPoint.add(new JLabel(""+point.y));
}
else{
jf.dispose();
jframe.setExtendedState(JFrame.NORMAL);
jframe.setVisible(true);
}
}else{
jf.dispose();
jframe.setExtendedState(JFrame.NORMAL);
jframe.setVisible(true);
}
}
public void mousePressed(MouseEvent me) {}
public void mouseReleased(MouseEvent me) {}
public void mouseEntered(MouseEvent me) {}
public void mouseExited(MouseEvent me) {}
}
}