---恢复内容开始---

以前在公司工作的时候,电脑限制重重,不允许改锁屏时间,又不允许下载和安装软件。

需要在家办公support的时候,又没有什么事,但还是必须在线,所以就写了个小程序让鼠标自己随机移动,这样就可以防止时间一长电脑就自动锁屏了。

将工程export出一个runnable的jar包后,双击即可运行,点击close button后即可关闭。

 package test;
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Robot;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random; import javax.swing.JButton;
import javax.swing.JFrame; public class MouseController implements Runnable { private Robot robot;
private boolean isStop = false; public MouseController() {
try {
ControllerFrame frame = new ControllerFrame("Prevent Locking");
frame.setVisible(true);
robot = new Robot();
} catch (AWTException e) {
e.printStackTrace();
}
} @Override
public void run() {
int x;
int y;
Random random = new Random();
while (!isStop) {
//随机生成坐标。
x = random.nextInt(1000);
y = random.nextInt(1000);
//开始移动
robot.mouseMove(x, y);
//每5秒移动一次
robot.delay(6000);
} } /**
* GUI Frame 生成一个button,控制程序
* @author max
*
*/
private class ControllerFrame extends JFrame {
private static final long serialVersionUID = 1L; private JButton close = new JButton("close"); public ControllerFrame(String title) {
this();
setTitle(title);
} public ControllerFrame() {
setLayout(new FlowLayout(FlowLayout.LEADING));
setSize(316, 338);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null); Dimension preferredSize = new Dimension(300,300);
Font font = new Font("", 1, 80); //设置button 大小,文字等属性
close.setPreferredSize(preferredSize);
close.setFont(font);
close.setBorderPainted(true);
close.setFocusable(false); add(close); //点击button后,程序终止。
close.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
isStop = true;
dispose();
}
}); } } public static void main(String[] args) {
MouseController m = new MouseController();
m.run();
}
}

Java实现鼠标随机移动的更多相关文章

  1. JAVA隐藏鼠标的方法

    JAVA隐藏鼠标的方法 2012年06月03日 19:13:21 阅读数:2436 JAVA隐藏鼠标光标,可以有2种方法. 都是通过如下语句重新设置光标 Toolkit.getDefaultToolk ...

  2. 软件工程课后作业——用JAVA编写的随机产生30道四则运算

    package com.java.sizeyunsuan; public class lianxi { String f() { int i=(int)(Math.random()*10); int ...

  3. java 自定义鼠标图标

    由于截图截不了,所以看不了图.源码如下: import java.awt.Cursor; import java.awt.Image; import java.awt.Point; import ja ...

  4. Java集合类:"随机访问" 的RandomAccess接口

    引出RandomAccess接口 如果我们用Java做开发的话,最常用的容器之一就是List集合了,而List集合中用的较多的就是ArrayList 和 LinkedList 两个类,这两者也常被用来 ...

  5. Java基础之随机生成数字和字母

    字母与数字的ASCII码 目 前计算机中用得最广泛的 字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information I ...

  6. Java编写一个随机产生小学生四则运算题30道

    //注:这个程序还没有实现的地方为分数的计算方法未能实现,只是简单的两个数运算,没有实现多个数,四则运算中的数没有涉及0. package 课堂测试1; import java.io.File; im ...

  7. Java案例:随机点名器

    案例介绍: 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息.需具备以下3个内容:1)存储所有同学姓名2)总览全班同学姓名3)随机点名其中一人,打印到控制台 案例需求分析: 全班同 ...

  8. Java利用数组随机抽取幸运观众

    编写程序,事先将所有观众姓名输入数组,然后获得数组元素的总数量,最后在数组元素中随机抽取元素的下标,根据抽取的下标获得幸运观众的姓名. 思路如下: 定义输入框的按键事件,使用KeyEvent类的get ...

  9. 帮助大家理解java中的随机和继承,动态绑定.

    package com.ykmimi.javabianchengsixiang; /** * 形状的继承 随机形状生成器 * @author ukyor */ import java.util.Ran ...

随机推荐

  1. 数据可视化 seaborn绘图(2)

    统计关系可视化 最常用的关系可视化的函数是relplot seaborn.relplot(x=None, y=None, hue=None, size=None, style=None, data=N ...

  2. 根据传智写的SqlHelper

    using System; using System.Configuration; using System.Data; using System.Data.SqlClient; namespace ...

  3. Chrome插件开发,美化网页上的文件列表。chrome-extension,background

    上一篇文章 通过“content-scripts”的方式向页面注入js和css来美化页面,但是有一个弊端:一旦配置好需要注入的页面,之后如果这个页面地址以后发生变化,或者要新加一些URL进来,那么得修 ...

  4. [日常] HTTP连接管理

    HTTP连接管理: 1.误解的Connection首部 当http报文经过中间客户端到服务端中间的各种代理设备时,对标签中列出的头信息进行删除,close是事务结束后关掉此条连接 2.消除串行化的时延 ...

  5. [android] 采用服务执行长期后台的操作

    服务:在后台长期运行的没有界面的组件 新建一个类PhoneService类,继承系统的Service类 清单文件中 进行配置 新建一个节点<service>,设置名称android:nam ...

  6. SpringBoot登录登出切面开发

    阅读本文约“2.5分钟” 本文开发环境是SpringBoot2.X版本. 对于系统而言(这里多指管理系统或部分具备登录登出功能的系统),登录登出是一个类权限验证的过程,现在一般是以token进行校验, ...

  7. js如何发送wss协议的请求,以及接受服务器返回的数据

    今天遇到问题,以往都是请求http协议的url,现在请求变成了wss的,用以前那种ajax的方式不可以发送和接受.然后查阅相关资料解决了这个问题,在这记录一下解决办法,使用的是websocket. & ...

  8. Root(hdu5777+扩展欧几里得+原根)2015 Multi-University Training Contest 7

    Root Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total Su ...

  9. kafka指定partition的分区规则

    博客地址:https://www.cnblogs.com/gnivor/p/5318319.html

  10. 2018-12-16 VS Code英汉词典进化效果演示: 翻译文件所有命名

    续VS Code英汉词典插件v0.0.7-尝试词性搭配, 下一个功能打算实现文件的批量命名翻译: 批量代码汉化工具 · Issue #86 · program-in-chinese/overview ...