重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.awt.Color;
创新互联公司长期为上1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南开企业提供专业的成都网站设计、做网站,南开网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JWindow;
public class AutoMouseTest {
public static void main(String[] args) throws Exception {
moveAndClick(new Win());
}
private static void moveAndClick(final Win win) throws Exception {
final Robot r = new Robot();
new Thread() {
public void run() {
int w = Toolkit.getDefaultToolkit().getScreenSize().width;
int h = Toolkit.getDefaultToolkit().getScreenSize().height;
while (!win.stop) {
// 随机产生 x,y 坐标
int x = (int) (Math.random() * w);
int y = (int) (Math.random() * h);
// 鼠标移动到 x,y
r.mouseMove(x, y);
// 为了不乱点鼠标,设置条件:只有当鼠标到红色的 WIN 上才点击!
if (win.win.getBounds().contains(x, y)) {
// 按下鼠标
r.mousePress(MouseEvent.BUTTON1_MASK);
// 释放鼠标
r.mouseRelease(MouseEvent.BUTTON1_MASK);
}
String info = "htmlx:" + x + "br/y:" + y;
// 显示鼠标当前坐标的信息
win.setInfo(info);
try {
sleep(50);
} catch (Exception e) {
}
}
}
}.start();
}
}
class Win {
JWindow win = new JWindow();
JLabel info = new JLabel();
boolean stop;
public void setInfo(String s) {
info.setText(s);
}
Win() {
info.setOpaque(true);
info.setBackground(Color.red);
info.setHorizontalAlignment(JLabel.CENTER);
win.setSize(80, 50);
win.setAlwaysOnTop(true);
win.add(info);
win.setLocationRelativeTo(null);
win.setVisible(true);
win.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
stop = true;
win.setVisible(false);
JOptionPane
.showMessageDialog(win, "鼠标已移动到了WIN上面,并点击了一下,程序将退出!");
System.exit(0);
}
});
win.setVisible(true);
}
}
楼主提问的水平很高啊,题目的要求都没有,如何回答。。。
相关类都在
import java.awt.*;
import javax.swing.* ;
动作事件相关类在import java.awt.event.*;中,在代码头import就可以看了
给一个相关的代码吧,包括所有的鼠标事件。
下面代码包括
按下,释放,进入区域,离开区域,点击 这5个事件
鼠标的相关事件会在窗口上方的文本区显示。。。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestMouseEvent extends JFrame implements MouseListener{
JPanel jp = new JPanel();
JTextField jtf = new JTextField();
public TestMouseEvent(){
setTitle("Mouse Event");
getContentPane().add(jtf,BorderLayout.NORTH);
getContentPane().add(jp,BorderLayout.CENTER);
jp.addMouseListener(this);
}
public static void main(String[] args){
TestMouseEvent frame = new TestMouseEvent();
frame.setSize(200,200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void mousePressed(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠标在坐标"+"("+x+","+y+")"+"出按下";
jtf.setText(s);
}
public void mouseReleased(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠标在坐标"+"("+x+","+y+")"+"出释放";
jtf.setText(s);
}
public void mouseClicked(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠标在坐标"+"("+x+","+y+")"+"出点击";
jtf.setText(s);
}
public void mouseEntered(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠标在坐标"+"("+x+","+y+")"+"出进入";
jtf.setText(s);
}
public void mouseExited(MouseEvent e){
int x = e.getX();
int y = e.getY();
String s = "鼠标在坐标"+"("+x+","+y+")"+"出离开";
jtf.setText(s);
}
}
可以的。
代码如下:
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap tapObject = new HashMap();
tapObject.put("x", x);
tapObject.put("y", y);
tapObject.put("duration", duration);
js.executeScript("mobile: tap", tapObject);