Advertisement
Guest User

Untitled

a guest
Nov 12th, 2017
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.27 KB | None | 0 0
  1. import java.awt.AWTException;
  2. import java.awt.BorderLayout;
  3. import java.awt.Color;
  4. import java.awt.Container;
  5. import java.awt.EventQueue;
  6. import java.awt.FlowLayout;
  7. import java.awt.GridLayout;
  8. import java.awt.Insets;
  9. import java.awt.MouseInfo;
  10. import java.awt.Point;
  11. import java.awt.Robot;
  12. import java.awt.event.ActionEvent;
  13. import java.awt.event.ActionListener;
  14. import java.awt.event.InputEvent;
  15. import java.awt.event.KeyAdapter;
  16. import java.awt.event.KeyEvent;
  17. import java.awt.event.KeyListener;
  18. import java.io.BufferedReader;
  19. import java.io.InputStreamReader;
  20. import java.util.ArrayList;
  21.  
  22. import javax.swing.AbstractAction;
  23. import javax.swing.AbstractButton;
  24. import javax.swing.ActionMap;
  25. import javax.swing.BorderFactory;
  26. import javax.swing.Box;
  27. import javax.swing.BoxLayout;
  28. import javax.swing.InputMap;
  29. import javax.swing.JButton;
  30. import javax.swing.JComponent;
  31. import javax.swing.JFrame;
  32. import javax.swing.JLabel;
  33. import javax.swing.JPanel;
  34. import javax.swing.JScrollPane;
  35. import javax.swing.JTextArea;
  36. import javax.swing.JTextField;
  37. import javax.swing.KeyStroke;
  38. import javax.swing.ScrollPaneConstants;
  39. import javax.swing.UIManager;
  40.  
  41.  
  42. public class Frame
  43. {
  44. private double mouseX;
  45. private double mouseY;
  46. JTextArea tekst;
  47. JFrame ramka;
  48. Thread watek;
  49. Thread klikacz;
  50. JPanel panelGlowny;
  51. ThreadGroup grupaWatkowSkanowania = new ThreadGroup("Watki skanowania");
  52. ThreadGroup grupaWatkowKlikacza = new ThreadGroup("Watki klikacza");
  53. JTextField clickDelay;
  54. JTextField clickAndReleaseDelay;
  55. int delay;
  56.  
  57. public Frame()
  58. {
  59. funkcja1();
  60.  
  61. }
  62.  
  63. public void funkcja1()
  64. {
  65. ramka = new JFrame();
  66. ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  67.  
  68. BorderLayout uklad = new BorderLayout();
  69.  
  70. JPanel panelTla = new JPanel(uklad);
  71. panelTla.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
  72.  
  73.  
  74.  
  75. Box obszarPrzyciskow = new Box(BoxLayout.Y_AXIS);
  76.  
  77. JButton przycisk = new JButton("Start skanowania");
  78. obszarPrzyciskow.add(przycisk);
  79. przycisk.addActionListener(new ActionListener()
  80. {
  81. @Override
  82. public void actionPerformed(ActionEvent e)
  83. {
  84. watek = new Thread(grupaWatkowSkanowania, new PozycjaMyszy());
  85. watek.start();
  86. }
  87. });
  88.  
  89. JButton przycisk2 = new JButton("Stop skanowania");
  90. obszarPrzyciskow.add(przycisk2);
  91. przycisk2.addActionListener(new ActionListener()
  92. {
  93. @Override
  94. public void actionPerformed(ActionEvent e) {
  95. grupaWatkowSkanowania.interrupt();
  96. tekst.append("\n"+"Zakończono skanowanie pozycji myszy");
  97. }
  98. });
  99.  
  100. JButton przycisk3 = new JButton("Rozpocznij klikanie");
  101. obszarPrzyciskow.add(przycisk3);
  102. przycisk3.addActionListener(new ActionListener()
  103. {
  104. @Override
  105. public void actionPerformed(ActionEvent e)
  106. {
  107. klikacz = new Thread(grupaWatkowKlikacza, new Klikacz());
  108. klikacz.start();
  109. }
  110.  
  111. });
  112.  
  113.  
  114.  
  115. JButton przycisk4 = new JButton("Zakończ klikanie");
  116. obszarPrzyciskow.add(przycisk4);
  117. przycisk4.addActionListener(new ActionListener()
  118. {
  119. @Override
  120. public void actionPerformed(ActionEvent e)
  121. {
  122. grupaWatkowKlikacza.interrupt();
  123. tekst.append("\n"+"Zakończono klikanie myszą");
  124. }
  125.  
  126. });
  127.  
  128. JLabel podpisCzestotliwościKlikania = new JLabel("W oknie poniżej wpisz częstotliwość kliknięć (milisekundy)");
  129. obszarPrzyciskow.add(podpisCzestotliwościKlikania);
  130.  
  131. clickDelay = new JTextField("");
  132. obszarPrzyciskow.add(clickDelay);
  133.  
  134. JLabel podpisDodawanegoRandomDelay = new JLabel("W oknie poniżej wpisz zakres losowego opóźnienia klikania (milisekundy)");
  135. obszarPrzyciskow.add(podpisDodawanegoRandomDelay);
  136.  
  137. clickAndReleaseDelay = new JTextField("");
  138. obszarPrzyciskow.add(clickAndReleaseDelay);
  139.  
  140. tekst = new JTextArea(15,50);
  141. tekst.setLineWrap(true);
  142. tekst.setWrapStyleWord(true);
  143. tekst.setEditable(false);
  144. tekst.append("Rozpocznij skanowanie pozycji myszy");
  145.  
  146. JScrollPane przewijanie = new JScrollPane(tekst);
  147. przewijanie.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  148. przewijanie.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
  149.  
  150. panelTla.add(BorderLayout.EAST, obszarPrzyciskow);
  151. ramka.getContentPane().add(panelTla);
  152.  
  153. BorderLayout siatkaPolWyboru = new BorderLayout();
  154. panelGlowny = new JPanel(siatkaPolWyboru);
  155. panelGlowny.add(przewijanie);
  156. panelTla.add(BorderLayout.WEST, panelGlowny);
  157.  
  158. ramka.setBounds(50,50,300,300);
  159. ramka.pack();
  160. ramka.setVisible(true);
  161.  
  162. ramka.setFocusable(true);
  163. tekst.setFocusable(true);
  164. clickAndReleaseDelay.setFocusable(true);
  165. clickDelay.setFocusable(true);
  166. panelGlowny.setFocusable(true);
  167. panelTla.setFocusable(true);
  168. obszarPrzyciskow.setFocusable(true);
  169. ramka.requestFocusInWindow();
  170.  
  171. ramka.addKeyListener(new KeyListener()
  172. {
  173.  
  174. @Override
  175. public void keyTyped(KeyEvent e)
  176. {
  177. // TODO Auto-generated method stub
  178. }
  179.  
  180. @Override
  181. public void keyPressed(KeyEvent e)
  182. {
  183. if((Integer.parseInt(clickDelay.getText()) & Integer.parseInt(clickAndReleaseDelay.getText())) != 0)
  184. {
  185. if(e.getKeyCode() == KeyEvent.VK_UP)
  186. {
  187. System.out.println("Klik");
  188. klikacz = new Thread(grupaWatkowKlikacza, new Klikacz());
  189. klikacz.start();
  190. }
  191. }
  192.  
  193.  
  194. }
  195.  
  196. @Override
  197. public void keyReleased(KeyEvent e)
  198. {
  199. // TODO Auto-generated method stub
  200. }
  201.  
  202. });
  203.  
  204. }
  205.  
  206. public class PozycjaMyszy implements Runnable
  207. {
  208. @Override
  209. public void run()
  210. {
  211. try
  212. {
  213. while(!Thread.currentThread().isInterrupted()) //mouseX !=0 || mouseY !=0
  214. {
  215. mouseX = MouseInfo.getPointerInfo().getLocation().getX();
  216. mouseY = MouseInfo.getPointerInfo().getLocation().getY();
  217. String mouseXX = String.valueOf(mouseX);
  218. String mouseYY = String.valueOf(mouseY);
  219. tekst.setText("Aktualna pozycja myszy"+"\n"+ "X "+mouseXX+" "+" Y"+mouseYY);
  220. //System.out.println("Pozycja myszy X i Y"+"\n"+"Y " + mouseYY +" X "+ mouseXX);
  221. Thread.sleep(1000);
  222. }
  223. }catch (InterruptedException e)
  224. {
  225. System.out.println("Zakończono skanowanie pozycji myszy");
  226. }
  227. }
  228. }
  229.  
  230. public class Klikacz implements Runnable
  231. {
  232.  
  233. public int delay = Integer.parseInt(clickDelay.getText());
  234. public int randomDelayBetweenClicks = delay +((int) (Math.random() * Integer.parseInt(clickAndReleaseDelay.getText())));
  235. public int rate2 = ((int) (Math.random() * delay));
  236. public int randomWait = (50+ (int) (Math.random()*100));
  237.  
  238. @Override
  239. public void run()
  240. {
  241. try
  242. {
  243. Robot robot = new Robot();
  244. while (!Thread.currentThread().isInterrupted())
  245. {
  246. try
  247. {
  248. Thread.sleep(randomDelayBetweenClicks);
  249. robot.mousePress(InputEvent.BUTTON1_MASK);
  250. Thread.sleep(randomWait);
  251. robot.mouseRelease(InputEvent.BUTTON1_MASK);
  252.  
  253. }catch (Exception e) {}
  254.  
  255. Thread.sleep(10);
  256. }
  257.  
  258. }catch (AWTException | InterruptedException e)
  259. {
  260. System.out.println("Zakończono klikanie myszką");
  261. }
  262.  
  263. }
  264.  
  265. }
  266.  
  267. }
  268.  
  269.  
  270.  
  271. // Stwórz hotkey i daj użytkownikowi możliwość ustawienia hotkey'a i odpalenia nim clickera
  272. //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement