HAllo zusammen,
nach langer Abstinenz hab ich mal wieder versucht nen kleines Tool zu schreiben was mir Massenbewegungen(später auch Klicks) Simulieren soll.
Momentan scheitere ich an dem einfach schließen eines Threads, könnte mir jemand auf die Sprünge helfen, es ist schon sehr lange her ^^
Genau gesagt, bei Klick auf den "ende" Button, soll der Thread einfach dicht machen...
Hab es mit Booleans versucht und mit interupted, aber iwi hab ich das Gefühl es scheitert an etwas elementaren...
nach langer Abstinenz hab ich mal wieder versucht nen kleines Tool zu schreiben was mir Massenbewegungen(später auch Klicks) Simulieren soll.
Momentan scheitere ich an dem einfach schließen eines Threads, könnte mir jemand auf die Sprünge helfen, es ist schon sehr lange her ^^
Genau gesagt, bei Klick auf den "ende" Button, soll der Thread einfach dicht machen...
Hab es mit Booleans versucht und mit interupted, aber iwi hab ich das Gefühl es scheitert an etwas elementaren...
Code:
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Robot;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.util.concurrent.atomic.AtomicBoolean;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class mouse extends Thread implements ActionListener
{
private JButton button;
private JButton button1;
private boolean event = false;
JPanel panel1 = new JPanel();
private boolean canGo=true;
private boolean session=true;
public mouse(boolean session) {
}
public mouse()
{
// Fenster anlegen
JFrame frame = new JFrame();
frame.setTitle("KlickerGO");
frame.setLayout(new BorderLayout());
// Button anlegen
button = new JButton("Start");
button.setBackground(Color.GREEN);
button1 = new JButton("Stop");
button.setBackground(Color.RED);
// Eventhandler für Button zuweisen
button.addActionListener(this);
button1.addActionListener(this);
panel1.setLayout( new BorderLayout() );
panel1.add(button, java.awt.BorderLayout.NORTH);
panel1.add(button1, java.awt.BorderLayout.SOUTH);
// Button der Frame hinzufügen
frame.add(panel1);
// Fenster zentrieren
frame.setSize(350,150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
// Fenster sichbar machen
frame.setVisible(true);
}
public static void main(String[] args) {
new mouse();}
public void run()
{
Robot rob;
while(canGo)
{
System.out.println("Tick!");
try {
rob = new Robot();
rob.mouseMove(20,20); // Mauszeiger bewegen
rob.mouseMove(60,60); // Mauszeiger bewegen
rob.delay(5000); // warte 20 Sekunden 20000
} catch (AWTException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public void kill() {
this.canGo = false;
System.out.println("ENDE!");
this.interrupt();
}
@Override
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == button) {
Thread t = new mouse(true);
t.start();
} else if(e.getSource() == button1) {
kill();
}
}
}