java实现获取鼠标在屏幕上的坐标

来源:互联网 发布:睡觉流口水 知乎 编辑:程序博客网 时间:2024/05/16 05:13

本篇博客其实没什么难度可言,在这里分享给大家,是因为有时候我们需要这个工具,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);    }}

附上工具下载链接:http://download.csdn.net/detail/code_better/9808316

0 0
原创粉丝点击