java刷跳一跳_Java实现微信跳一跳

c3a8e6d37c521d97feacd801a2da6978.png

be31d048d38ca43ee128e13a203fdf63.png

package com.ittaoli;

import javax.swing.*;

import java.awt.*;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.io.IOException;

import java.util.ArrayList;

/**

*

* 版权所有:桃李软件

* 官方网址:http://www.ittaoli.com

*

*/

public class MyJump {

public static void main(String[] args) throws Exception {

JFrame jf = new JFrame("MyJump");

getImg();

jf.setLayout(new FlowLayout());

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭后退出程序

jf.setSize(360, 640); //设定窗体的宽和高

jf.setVisible(true); // 设定窗口为可见

jf.setLocation(100, 100); // 设定窗体的坐标

jf.setResizable(false); // 禁用最大化按钮

JLabel lb = new JLabel("此处显示鼠标左键点击后的坐标"); // 创建一个 Label对象

jf.add(lb); // 添加标签到窗口上

JLayeredPane jlp = jf.getLayeredPane();

ImageIcon img = new ImageIcon("screen.png");

Image image = img.getImage();

Image smallImage = image.getScaledInstance(360, 640, Image.SCALE_FAST);

ImageIcon smallIcon = new ImageIcon(smallImage);

JLabel imgLabel = new JLabel(smallIcon);

jlp.add(imgLabel, Integer.MAX_VALUE);

imgLabel.setBounds(0, 0, 360, 640);

ArrayList list = new ArrayList<>();

jf.addMouseListener(new MouseListener() { //为窗口添加鼠标事件监听器

@Override

public void mousePressed(MouseEvent e) {

if (e.getButton() == e.BUTTON1) { // 判断获取的按钮是否为鼠标的右击

lb.setText(e.getX() + "," + e.getY()); // 获得鼠标点击位置的坐标并发送到标签的文字上

list.add(e.getX());

list.add(e.getY());

if (list.size() == 4) {

int time = getTime(list.get(0), list.get(1), list.get(2), list.get(3));

String cmd = "adb shell input swipe " + list.get(0) + " " + list.get(1) + " " + list.get(2) + " " + list.get(3) + " " + time;

list.clear();

System.out.println(cmd);

try {

Runtime.getRuntime().exec(cmd).waitFor();

Thread.sleep(1500);

getImg();

ImageIcon img1 = new ImageIcon("screen.png");

Image image = img1.getImage();

Image smallImage1 = image.getScaledInstance(360, 640, Image.SCALE_FAST);

ImageIcon smallIcon1 = new ImageIcon(smallImage1);

imgLabel.setIcon(smallIcon1);

} catch (Exception e1) {

e1.printStackTrace();

}

}

}

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

});

}

private static void getImg() throws Exception {

String cmd1 = "adb shell screencap -p /sdcard/screen.png";

String cmd2 = "adb pull /sdcard/screen.png";

Runtime.getRuntime().exec(cmd1).waitFor();

Runtime.getRuntime().exec(cmd2).waitFor();

}

private static int getTime(int x1, int y1, int x2, int y2) {

return (int) (Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)) * 3 * 1.392);

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值