Hilfe beim ausschalten von Robot

F

FrecherFrett

Gast
Hallo ich habe ein Klick Pogramm geschrieben was alle 60 Sekunden einen Rechts - Klick mit der Maus machen soll!
Nur ist das Problem das ich es nicht stoppen kann! :)
Wie kann ich aus dem Button eine Start/Stop - Funktion einbauen?
Hier der Code:

Java:
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 javax.swing.JButton;
import javax.swing.JFrame;

public class Mausbeweger implements ActionListener
{
    
    private JButton button;

    public Mausbeweger() 
    {
        // Fenster anlegen
        JFrame frame = new JFrame();
        frame.setTitle("KlickerGO");
        frame.setLayout(new BorderLayout());
        
        // Button anlegen
        this.button = new JButton("Start");
        button.setBackground(Color.BLACK);
        // Eventhandler für Button zuweisen
        this.button.addActionListener(this);
        
        // Button der Frame hinzufügen
        frame.add(this.button);
        
        // Fenster zentrieren
        frame.setSize(350,150);
        frame.setLocationRelativeTo(null);
        
        // Fenster sichbar machen
        frame.setVisible(true);
    }
    
    public static void main(String[] args)   {
        new Mausbeweger();}

    @Override
    public void actionPerformed(ActionEvent e)
    {
        if(button == e.getSource())
            {
          	Robot rob;
			try {
				rob = new Robot();
			    
				rob.delay(10000); // warte 10 Sekunden
				rob.mouseMove(700,400); // Mauszeiger bewegen
	        	rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
	        	rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
	        	rob.delay(60000); // warte 60 sekunden

	        	rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
	        	rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
	        	rob.delay(60000); // warte 60 sekunden

	        	rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
	        	rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
	        	rob.delay(60000); // warte 60 sekunden

	        	rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
	        	rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
	        	rob.delay(60000); // warte 60 sekunden

	        	rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
	        	rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
	        	rob.delay(60000); // warte 60 sekunden

	        	rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
	        	rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
	        	rob.delay(60000); // warte 60 sekunden

	        	rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
	        	rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
	        	rob.delay(60000); // warte 60 sekunden
			
			
			
			
			} catch (AWTException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
  	
            }
   }
}
 

KingOfExceptions

Bekanntes Mitglied
Ich verstehe deine Frage gerade nicht ganz. Was meinst du denn mit 'stoppen' ?

Wenn ich das richtig interpretiere:

Bau doch eine while-Schleife ein, die nur ausgeführt wird, wenn ein boolean true ist, oder in deinem bestehenden Code halt if-Abfragen. Dann musst du nur noch den boolean per Button zB auf false ändern.
 
F

FrecherFrett

Gast
Wenn ich das Programm starte kann ich es nicht mehr beenden solange es läuft!
Ich wüsste gerne Funktion die dieses tut!
 

KingOfExceptions

Bekanntes Mitglied
Stichwort: Thread!
Es gibt keine Funktion in Robot. Die musst du wenn dann selbst machen.

Ich kanns dir auch machen wenn du willst, dann musst du dich allerdings noch ein paar Minuten gedulden...
 
Zuletzt bearbeitet:

KingOfExceptions

Bekanntes Mitglied
Über ein Danke freue ich mich:

Java:
import java.awt.AWTException;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Robot;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;

import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

public class Mausbeweger
{
	private JButton button;
	private JPanel panel;
	static private JFrame frame;
	static boolean wasClicked = false;

	public Mausbeweger()
	{
		// Fenster anlegen
		frame = new JFrame();
		panel = new JPanel();
		panel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "actionName");
		panel.getActionMap().put("actionName", new AbstractAction("actionName")
		{
			private static final long serialVersionUID = 1L;

			public void actionPerformed(ActionEvent evt)
			{
				System.exit(0); // WAS PASSIEREN SOLL, WENN DU AUF ESCAPE DRÜCKST
			}
		});
		frame.add(panel);
		frame.setTitle("KlickerGO");
		frame.setLayout(new BorderLayout());
		// Button anlegen
		this.button = new JButton("Start");
		button.setBackground(Color.BLACK);
		// Eventhandler für Button zuweisen
		this.button.addActionListener(new ActionListener()
		{
			@Override
			public void actionPerformed(ActionEvent e)
			{
				if (e.getSource() == button)
				{
					Runnable r = new Runnable()
					{
						@Override
						public void run()
						{
							Robot rob;
							try
							{
								rob = new Robot();
								Thread.sleep(10000); // warte 10 Sekunden
								rob.mouseMove(700, 400); // Mauszeiger bewegen
								rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
								rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
								Thread.sleep(60000); // warte 60 sekunden
								rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
								rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
								Thread.sleep(60000); // warte 60 sekunden
								rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
								rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
								Thread.sleep(60000); // warte 60 sekunden
								rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
								rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
								Thread.sleep(60000); // warte 60 sekunden
								rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
								rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
								Thread.sleep(60000); // warte 60 sekunden
								rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
								rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
								Thread.sleep(60000); // warte 60 sekunden
								rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
								rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
								Thread.sleep(60000); // warte 60 sekunden
							}
							catch (AWTException e1)
							{
								e1.printStackTrace();
							}
							catch (InterruptedException ex)
							{
								ex.printStackTrace();
							}
						}
					};
				
					Thread thr=new Thread(r);
					thr.start();
				}
			}
		});
		// Button der Frame hinzufügen
		panel.add(this.button);
		// Fenster zentrieren
		frame.setSize(350, 150);
		frame.setLocationRelativeTo(null);
		// Fenster sichbar machen
		frame.setLayout(new FlowLayout());
		frame.setVisible(true);
	}

	public static void main(String[] args)
	{
		new Mausbeweger();
	}
}
 

ARadauer

Top Contributor
kennst du schleifen?

Java:
rob.mousePress(InputEvent.BUTTON3_MASK); // linke Maustatse drücken
rob.mouseRelease(InputEvent.BUTTON3_MASK); // und wieder loslassen
Thread.sleep(60000); // warte 60 sekunden
das musst du nicht x mal schreiben...


das kannst du in einer schleife laufen lassen, und diese schleife kann eine abbruch bedinung haben, die du von aussen steuern kannst... zb

Java:
public class Test2 {

    public static boolean running = true;

    public static void main(String[] args) throws InterruptedException {
        new Thread(new Runnable() {

            @Override
            public void run() {
                while (running) {
                    System.out.println("ich mache etwas, zb klicken");
                    try {
                        Thread.sleep(5000);
                    }
                    catch (InterruptedException e) {
                    }

                }

            }
        }).start();

        Thread.sleep(30000);
        System.out.println("nach 30 sekunden benenden wir den spaß");
        running = false;
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Hilfe beim tablevies AWT, Swing, JavaFX & SWT 2
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
C Gesucht: Hilfe beim programmieren. AWT, Swing, JavaFX & SWT 1
C Hilfe beim programmieren mit studiumgebundenes Projekt AWT, Swing, JavaFX & SWT 1
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
S Hilfe beim Lernprozess von java3d AWT, Swing, JavaFX & SWT 20
K Swing Hilfe beim JTree! AWT, Swing, JavaFX & SWT 3
L Mein Kopf dreht sich... Brauche Hilfe beim GUI gestalten AWT, Swing, JavaFX & SWT 10
G Hilfe beim Erstellen eines eigenen Html-Editors! AWT, Swing, JavaFX & SWT 4
C Hilfe beim JFileChooser AWT, Swing, JavaFX & SWT 8
V Brauche Hilfe beim Steuern des Sichtbereiches eines JPanel AWT, Swing, JavaFX & SWT 2
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
JavaBeginner22 Button Hilfe AWT, Swing, JavaFX & SWT 0
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
senol JOptionPane hilfe!!! :(((( AWT, Swing, JavaFX & SWT 32
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
Zrebna JavaFX-Projekt mit Bildern funktioniert nicht - um Hilfe wird gebeten AWT, Swing, JavaFX & SWT 14
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
T Swing Hilfe - Selbst Informatik Lehrer konnte mir nicht weiter Helfen AWT, Swing, JavaFX & SWT 2
A Swing TicTacToe-Bitte um Hilfe AWT, Swing, JavaFX & SWT 32
T Bitte um Hilfe AWT, Swing, JavaFX & SWT 2
T Hilfe bei Code AWT, Swing, JavaFX & SWT 2
S Hilfe bei Java Gui Anfänger AWT, Swing, JavaFX & SWT 5
J Warum geht das nicht? if-else usw..... compilieren geht nicht -- HILFE!!! AWT, Swing, JavaFX & SWT 10
M Problem mit Layoutmanagern... Hilfe wäre sehr nett. AWT, Swing, JavaFX & SWT 2
T Hilfe was mus ich tun um das fertige JfxFenster zu sehen AWT, Swing, JavaFX & SWT 2
A hilfe für flowlayout AWT, Swing, JavaFX & SWT 6
N Swing Benötige Hilfe um ein Swing Canvas zu speichern AWT, Swing, JavaFX & SWT 4
X Swing JButton's zum JScrollPane hinzufügen geht nicht. Bitte um Hilfe. AWT, Swing, JavaFX & SWT 9
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
H Swing Hilfe bei GUI AWT, Swing, JavaFX & SWT 4
T HILFE wie lösche ich gezeichnetes per tastendruck AWT, Swing, JavaFX & SWT 1
R Swing JOptionPane Fehlermeldung- bitte um Hilfe! AWT, Swing, JavaFX & SWT 4
Tausendsassa ImageIcon?! Hilfe! AWT, Swing, JavaFX & SWT 10
C Hilfe bei JSpinner und JList AWT, Swing, JavaFX & SWT 1
J GridBagLayout mit Hilfe einer For-Schleife befüllen AWT, Swing, JavaFX & SWT 1
M Hilfe bei Performanceverbesserung AWT, Swing, JavaFX & SWT 34
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
M SwingWorker Hilfe! AWT, Swing, JavaFX & SWT 10
K Swing Brauche Hilfe AWT, Swing, JavaFX & SWT 6
O AWT Performance und Bug behebung[brauche Hilfe] AWT, Swing, JavaFX & SWT 2
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
K Viele Textfield mit Hilfe eines MousListener leeren - möglich? AWT, Swing, JavaFX & SWT 8
I ausgewählte Zeile mit Hilfe der Tastatur löschen! AWT, Swing, JavaFX & SWT 3
Kenan89 Java FX GUI Hilfe für erste Java FX App AWT, Swing, JavaFX & SWT 8
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
J LayoutManager Hilfe bei Wahl des Layouts AWT, Swing, JavaFX & SWT 9
N Hilfe bei Memory-Spiel AWT, Swing, JavaFX & SWT 18
L Swing Hilfe bei JTabelModel gesucht AWT, Swing, JavaFX & SWT 4
B Hilfe zu JTable und JTabbedPane AWT, Swing, JavaFX & SWT 18
K Hilfe bei Labels AWT, Swing, JavaFX & SWT 3
T JLayeredPanel - Hilfe AWT, Swing, JavaFX & SWT 7
C Swing Hilfe bei umsetzung eines Stundenplans. AWT, Swing, JavaFX & SWT 7
N Hilfe bei Panels! AWT, Swing, JavaFX & SWT 11
F Swing Syntaxhighlighting Hilfe AWT, Swing, JavaFX & SWT 5
Jats Bitte um Hilfe bei JComboBox mit Array AWT, Swing, JavaFX & SWT 6
Jats Hilfe bei FocusListener für Taschenrechner AWT, Swing, JavaFX & SWT 4
N Swing nach Fensterrand Action ausführen? HILFE AWT, Swing, JavaFX & SWT 7
R Hilfe bei Bachelorrabeit. Seitenvorschau AWT, Swing, JavaFX & SWT 7
G Swing Hilfe-Fenster erstellen AWT, Swing, JavaFX & SWT 20
E LayoutManager Hilfe ein GridbagLayout!! AWT, Swing, JavaFX & SWT 7
K GUI-Hilfe für Anfänger AWT, Swing, JavaFX & SWT 15
J Schulprojekt und braucht hilfe AWT, Swing, JavaFX & SWT 54
G Hilfe! Command Pattern an easy ImageViewer? AWT, Swing, JavaFX & SWT 13
radiac Hilfe bei GUI AWT, Swing, JavaFX & SWT 22
N Hilfe bei erstellen eines Bibliotheksprogrammes AWT, Swing, JavaFX & SWT 15
H Swing Jtable wird nicht angezeigt..hilfe!! AWT, Swing, JavaFX & SWT 16
M DRINGEND HILFE TextPane RECHTSBÜNDIG AWT, Swing, JavaFX & SWT 2
B Swing Hilfe zu JTextField AWT, Swing, JavaFX & SWT 2
J Brauche ganz dringend Hilfe!!! AWT, Swing, JavaFX & SWT 5
V Bitte um Hilfe bei nem Taschenrechner AWT, Swing, JavaFX & SWT 8
F NullPointerException - HILFE!! AWT, Swing, JavaFX & SWT 20
G Hilfe!!!Sudoku AWT, Swing, JavaFX & SWT 19
M Swing JButton hilfe AWT, Swing, JavaFX & SWT 3
M brauche Hilfe um Einträge aus Jlist zu löschen AWT, Swing, JavaFX & SWT 4
Spin Hilfe - Erklärungsbedarf für Kreis AWT, Swing, JavaFX & SWT 5
O Bitte um Hilfe bei ComboBox in TableHeader AWT, Swing, JavaFX & SWT 9
M Erstellen eines Hilfe-Fenster bzw"Erste-Schritte" AWT, Swing, JavaFX & SWT 2
G Hilfe Meine JPanels verschwinden im Müll AWT, Swing, JavaFX & SWT 10
G Hilfe AWT, Swing, JavaFX & SWT 8
N ausrichtung Button - hilfe bitte AWT, Swing, JavaFX & SWT 2
T Hilfe zu Events? AWT, Swing, JavaFX & SWT 6
A Ini Datei Auswerten - HILFE! AWT, Swing, JavaFX & SWT 6
D Hilfe bei GUI-Elementen in Java AWT, Swing, JavaFX & SWT 9
D Grafikeinsteiger sucht/braucht Hilfe. Wäre Nett ! AWT, Swing, JavaFX & SWT 3
K Mein Informatikprojekt läuft aus dem Ruder Hilfe. F1 ^^ AWT, Swing, JavaFX & SWT 5
S Hilfe! Bekomme Daten nicht ausgelesen AWT, Swing, JavaFX & SWT 3
M hilfe! probleme mit meinem programm AWT, Swing, JavaFX & SWT 5
V Hilfe :( bekomme textarea nicht versetzt AWT, Swing, JavaFX & SWT 2
M Hilfe ich komme nicht an ein JTextArea AWT, Swing, JavaFX & SWT 4
J Hilfe CardLayout AWT, Swing, JavaFX & SWT 3
C Hilfe bei JInternalFrame AWT, Swing, JavaFX & SWT 6
G BubbleSort mit Hilfe einer Balkengrafik visualisieren AWT, Swing, JavaFX & SWT 9
G Leider trotz allem kein Icon :( Brauche Hilfe AWT, Swing, JavaFX & SWT 3
S sinuskurve hilfe! AWT, Swing, JavaFX & SWT 2
D JSplittPane - unsichtbarer Rahmen? hilfe ;) AWT, Swing, JavaFX & SWT 2
G Selbstprogrammierter Editor - brauche Hilfe AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben