[工具04]java实现获取鼠标的坐标
2024-08-28 12:15:41
本篇博客其实没什么难度可言,在这里分享给大家,是因为有时候我们需要这个工具,java作为跨平台语言的优势在这个软件就可以体现出来,不需修改就可以在windows、mac、linux上使用这个软件。
这个小工具主要是使用MouseInfo类实时获取鼠标的信息,然后再JDialog上显示出来。
代码如下:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.Point;
import java.util.Timer;
import java.util.TimerTask;
import java.awt.Color;
public class MouseInfo extends JFrame {
private final JPanel contentPanel = new JPanel();
JLabel value_x = null;
JLabel value_y = null;
/**
* Launch the application.
*/
public static void main(String[] args) {
try {
MouseInfo info_frame = new MouseInfo();
info_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
info_frame.setVisible(true);
info_frame.setAlwaysOnTop(true);
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
Point point = java.awt.MouseInfo.getPointerInfo().getLocation();
// System.out.println("Location:x=" + point.x + ", y=" +
// point.y);
info_frame.value_x.setText("" + point.x);
info_frame.value_y.setText("" + point.y);
}
}, 100, 100);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Create the dialog.
*/
public MouseInfo() {
setTitle("\u9F20\u6807\u5750\u6807\u83B7\u53D6\u5668");
setBounds(100, 100, 217, 156);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
JLabel lblx = new JLabel("\u5750\u6807x:");
lblx.setFont(new Font("宋体", Font.PLAIN, 15));
lblx.setBounds(22, 27, 66, 31);
contentPanel.add(lblx);
JLabel lbly = new JLabel("\u5750\u6807y:");
lbly.setFont(new Font("宋体", Font.PLAIN, 15));
lbly.setBounds(22, 68, 66, 31);
contentPanel.add(lbly);
value_x = new JLabel("0");
value_x.setForeground(Color.BLUE);
value_x.setFont(new Font("宋体", Font.PLAIN, 20));
value_x.setBounds(82, 27, 66, 31);
contentPanel.add(value_x);
value_y = new JLabel("0");
value_y.setForeground(Color.BLUE);
value_y.setFont(new Font("宋体", Font.PLAIN, 20));
value_y.setBounds(82, 68, 66, 31);
contentPanel.add(value_y);
}
}
最新文章
- Eclipse Maven Web工程报错:java.lang.ClassNotFoundException: ContextLoaderListener
- oracle权限
- MongoDB Windows 下安装部署
- [微信小程序] 终于可以愉快的使用 async/await 啦
- git:fatal the current branch master has no upstream branch
- 【转】(总结)Linux下su与su -命令的本质区别
- java的property
- SSO单点登录的研究
- 浅谈layer.open的弹出层中的富文本编辑器为何不起作用!
- 在PHP中如何把数组写成配置文件
- [Swift]LeetCode210. 课程表 II | Course Schedule II
- IP通信基础学习第四周(上)
- Git .gitignore文件简介及使用
- LaTex in Markdown
- Scala_模式匹配
- SQLite三种JDBC驱动的区别
- 3) Maven 目录结构
- 移动端h5直播项目|html5直播实战开发|h5仿陌陌
- 我遇到了Hibernate异常
- fatal error: sys/cdefs.h: No such file or directory
热门文章
- 【云计算】CloudFoundry参考资料
- 关于Web界面查看日志的权限问题
- wireshark在windows下无法抓取localhost数据包
- C#中如何动态加载DockPanel
- Java实现MySQL图片存取操作
- vs2012升级到vs2013后,sql server 无法通过IP登录解决方案
- Coursera-Algotithms学习
- 05-spring-bean注入
- 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念
- 企业信息系统集成框架(设计思路)C++模式