Java實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng)效果的示例代碼
前言
疫情,需要遠(yuǎn)程辦公,為了更好的遠(yuǎn)程辦(劃)公(水)。而我們公司因?yàn)闆](méi)有想到會(huì)有大批量的遠(yuǎn)程辦公,從而導(dǎo)致連接的人過(guò)多,需要搶占連接才能登錄,而且好不容易搶到了,去上個(gè)廁所,然后就長(zhǎng)時(shí)間未操作斷開(kāi)了,防止這種事情的發(fā)生,特地寫(xiě)了這個(gè)腳本
實(shí)現(xiàn)代碼
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
/**
* Java實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng)
*/
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) {
//隨機(jī)生成坐標(biāo)。
x = random.nextInt(1000);
y = random.nextInt(1000);
//開(kāi)始移動(dòng)
robot.mouseMove(x, y);
//每5秒移動(dòng)一次
robot.delay(6000);
}
}
/**
* GUI Frame 生成一個(gè)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(100, 100);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Dimension preferredSize = new Dimension(100, 60);
Font font = new Font("", 1, 14);
//設(shè)置button 大小,文字等屬性
close.setPreferredSize(preferredSize);
close.setFont(font);
close.setBorderPainted(true);
close.setFocusable(false);
add(close);
//點(diǎn)擊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();
}
}效果圖
運(yùn)行后會(huì)彈出一個(gè)框,然后你就切換到會(huì)過(guò)期的應(yīng)用窗口就行了

如果不想讓鼠標(biāo)繼續(xù)動(dòng)了那么點(diǎn)擊close 就行了
到此這篇關(guān)于Java實(shí)現(xiàn)鼠標(biāo)隨機(jī)移動(dòng)效果的示例代碼的文章就介紹到這了,更多相關(guān)Java鼠標(biāo)隨機(jī)移動(dòng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis使用pageHelper插件進(jìn)行查詢分頁(yè)
這篇文章主要介紹了mybatis使用pageHelper插件進(jìn)行查詢分頁(yè),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
一篇文章帶了解如何用SpringBoot在RequestBody中優(yōu)雅的使用枚舉參數(shù)
這篇文章主要介紹了SpringBoot中RequestBodyAdvice使用枚舉參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
mybatisPlus條件構(gòu)造器常用方法小結(jié)
這篇文章主要介紹了mybatisPlus條件構(gòu)造器常用方法,首先是.select和其他條件,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
詳解SpringCloud LoadBalancer 新一代負(fù)載均衡器
這篇文章主要為大家介紹了SpringCloud LoadBalancer新一代負(fù)載均衡器詳解使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(36)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07
Java基礎(chǔ)入門(mén)之switch怎么使用枚舉
在Java開(kāi)發(fā)中,switch語(yǔ)句是一種常用的流控制語(yǔ)句,而當(dāng)使用枚舉類型作為條件時(shí),我們常常會(huì)遇到報(bào)錯(cuò)問(wèn)題,那么該如何解決呢,下面就來(lái)詳細(xì)講講2023-06-06

