robot class

Viktormk

Mitglied
hallo leute,

eine Fragen, gibt es Abbruchbedinung bzw. button mit dem ich mein robot stoppen, pausieren lasse.

Habe nur Beenden JButton und ich bräcuhte eine Möglichkeit, wie ich mein Robot über GUI stoppe.

Danke !!!
 

tagedieb

Top Contributor
Dann bau einen 'STOP' Button ein!

Wenn du Hilfe brauchst solltest du dein Problem schon detailiert beschreiben dann kann dir auch geholfen werden.
 

Viktormk

Mitglied
kurz und knapp

hier z.B.: mein Beenden-JButton und ich komme nicht drauf, wie ich desgleichen ein Stopbutton oder Pause-Button erstellen soll.

Sobal man den Roboter startet, hat man ja kein Zugriff aufs GUI !!!

Welche Möglichekeit gitbt es,, ich hoffe ich habe es ausführlich erklärt.

Java:
// Beenden
    jButton2.setBounds(225,500, 130, 25);
    jButton2.setText("Beenden");
    jButton2.setMargin(new Insets(2, 2, 2, 2));
    jButton2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        
        JOptionPane.showMessageDialog(panel, "Wollen Sie wircklich das Programm beenden ?",
        "Beenden", JOptionPane.INFORMATION_MESSAGE);
        jButton2_ActionPerformed(evt);
      }
    });
    cp.add(jButton3);
 

jgh

Top Contributor
na dann sollte man den Robot evtl. nicht im EDT, sondern in einem seperaten Thread laufen lassen, so dass man die GUI noch bedienen kann...
 

Viktormk

Mitglied
nochmal,

habe versucht mit Class SwingWorker zu starten,

bekomme das einfach nicht hin

kann mir jemand weiterhelfen !!! ein Beispiel mit robot vielleicht,,, danke
 
S

SlaterB

Gast
poste doch deine Beispiele oder irgendwelche Informationen,
was ist überhaupt ein 'robot', doch sicher zum Interaktion mit anderen Programmen, aber inwiefern ist der zu starten und dauert länger?
wenn es einfach nur eine Schleife mit beliebigen Inhalt X ist, was sollte ein Beispiel damit von beliebigen anderen Beispielen unterscheiden?

SwingWorker Tutorial
kopiere deinen Code nach doInBackground()
 

Viktormk

Mitglied
ich verstehe schon,

ich habe robot class mit zwei Schleifen,,,

habe zwei jbuttons mit Starten und Beenden und möchte das es wie in dem Tutorial funktioniert.

muss ich die Funktion von dem "robot" doInBackground()
Java:
"doInBackground()
reinschreiben?

mein Beenden jbButton
Java:
jButton2.setBounds(0,220, 130, 25);
    jButton2.setText("Beenden");
    jButton2.setMargin(new Insets(2, 2, 2, 2));
    jButton2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        
      }
    });
    cp.add(jButton3);
 
S

SlaterB

Gast
@Viktormk
vorerst geht es doch wohl nur darum, überhaupt mit SwingWorker irgendwas zu starten,
über einen 'Beenden'-Button musst du noch nicht nachdenken...

ich sehe in deinem Posting nur eine Wiederholung meiner Aussage 'in doInBackground() rein',
da erübrigt sich wohl jeder weitere direkte Kommentar


ein eigentlich offensichtlicher handwerklicher Hinweis erscheint mir nun angebracht:
der erste Schritt zum Einsatz eines SwingWorkers ist Einbau dieses SwingWorkers in deinen Code..,
du musst das was im Beispiel zwischen "// Construct a new SwingWorker" und
"// Execute the SwingWorker; the GUI will not freeze" + die Zeile dahinter herrüberkopieren!,
bei dir in den Start-Button oder so..

edit: ein normaler Thread geht in der Tat auch
 

Viktormk

Mitglied
habe es so versucht
Java:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.concurrent.ExecutionException;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.SwingWorker;
import java.awt.AWTException;
import java.awt.Robot;



public class Demo1WithSwingWorker extends JFrame implements ActionListener{
  
  
  JButton jbutt_start;
  SwingWorker<String, Void> worker;
  String theresult;
  
  
  /**
  * Init the GUI elements
  */
  public void initComponents(){
    
    jbutt_start = new JButton("Starten");
    jbutt_start.addActionListener(this);
    jbutt_start.setActionCommand("Starten");
    
    getContentPane().setLayout(new GridLayout(1,4));
    
    
    getContentPane().add(jbutt_start);
    
    
    pack();
    setSize(400,60);
    setVisible(true);
  }
  
  
  public void actionPerformed(ActionEvent evt){
    String cmd = evt.getActionCommand();
    if(cmd.equalsIgnoreCase("Starten")){  // Start button gedrückt
      
      worker = new SwingWorker<String, Void>(){
        
        @Override
        protected String doInBackground(){
          return doRobot();
        }
        
        @Override
        protected void done(){
          try {
            
          } catch (InterruptedException e) {
            e.printStackTrace();
          } catch (ExecutionException e) {
            e.printStackTrace();
          }
          
        }
      };
      
      
      
      worker.execute();
    }
    
    
  }
  
  public static void main(String[] args) {
    new robot("robot");
    
  }
  
  
  
  
  
  public String doRobot (){
    
    Robot rob = null;
    try
    {
      
      
      
      rob = new Robot ();
      
      
    }
    catch (AWTException e)
    
    {
      // TODO Auto-generated catch block
      e.printStackTrace ();
    }
    
    
    
    rob.delay(2500); //  warte 2.5 Sekunden
    
    rob.mouseMove(297,161); // Mauszeiger bewegen
    rob.delay(1500); //  warte 1.5 Sekunden
    rob.mousePress(InputEvent.BUTTON1_MASK); // linke Maustatse drücken
    rob.mouseRelease(InputEvent.BUTTON1_MASK); // und wieder loslassen
    
    
    rob.delay(1500); //  warte 1.5 Sekunden
    
    
    
    
    
    
    
    
  }
  }
 
S

SlaterB

Gast
besteht dazu ein Problem oder bist du dann wieder bei der Ursprungsfrage?

andere Buttons wie 'Stop' sollten doch nun zumindest wieder bedienbar sein,
fragt sich nur was die dann machen sollen..

interrupt() für SwingWorker würde anscheinend das delay() von Robot abbrechen,
aber danach geht es weiter einen Befehl nach den anderen,

wie auch in normalen Threads muss man ständig, ob Abbruch sein sollte,
Canceling Background Tasks (The Java™ Tutorials > Creating a GUI With JFC/Swing > Concurrency in Swing)

aller Wahrscheinlichkeit passiert das vor allem in den Wartepausen,
statt delay() oder Thread.sleep() könnte man eine eigene Methode bauen, die intern auch eines der anderen beiden nutzt,
danach und gleich noch davor aber schaut ob Abbruch sein soll, dann wird mit wenig Aufwand ziemlich oft geprüft,

fragt sich wiederum, was denn im Abbruchfall passieren soll.., eine Exception werfen könnte unschön sein,
eine boolean-Rückgabe könnte zusammen mit aufwendigeren delays gehen:
Java:
    rob.mouseMove(297,161); // Mauszeiger bewegen
    if (checkDelay(1500)) return; //  warte 1.5 Sekunden (oder Abbruch)

----

einen eigenen Thread kann man ultimativ mit stop() wohl wirklich killen, aber auch nicht schön..


eine perfekte, eine 'schöne' Lösung habe ich dazu nicht, schreibe nur weil eh gerade hier dabei ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Viktormk java robot class Java Basics - Anfänger-Themen 5
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
M Moorhuhn Pixel-Aimbot mit Robot Library Java Basics - Anfänger-Themen 12
B Robot auf virtuellem Desktop laufen lassen? Java Basics - Anfänger-Themen 4
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
T Tastatur mit robot ß ^ und @ simulieren Java Basics - Anfänger-Themen 4
S Java robot Tastenschläge vereinfachen Java Basics - Anfänger-Themen 4
S Java Robot Tasteneingaben vereinfachen Java Basics - Anfänger-Themen 1
X Robot beenden oder zerstören Java Basics - Anfänger-Themen 7
B Threads Robot.mouseMove ruckelt Java Basics - Anfänger-Themen 1
V Robot kann Button nicht drücken warum? Java Basics - Anfänger-Themen 6
K Wie funktioniert die Klasse Robot Java Basics - Anfänger-Themen 19
J Robot Java Basics - Anfänger-Themen 4
Viktormk java robot Java Basics - Anfänger-Themen 28
D Loop Funktion für Robot Klasse Java Basics - Anfänger-Themen 5
P Screenshot eines Fullscreen-Fensters mit Robot Java Basics - Anfänger-Themen 3
TheKing Robot in .App (mac) Java Basics - Anfänger-Themen 6
TheKing Klasse Robot-KeyPress Java Basics - Anfänger-Themen 2
X Robot geht nicht mehr (Ubuntu 9.10) Java Basics - Anfänger-Themen 2
B Robot.keyPress() Java Basics - Anfänger-Themen 2
F Variabler - Robot - Tastatureingaben Java Basics - Anfänger-Themen 5
Screen robot key frage Java Basics - Anfänger-Themen 16
F Robot Java Basics - Anfänger-Themen 10
D Frage zur Klasse Robot Java Basics - Anfänger-Themen 2
G java robot Java Basics - Anfänger-Themen 6
N Robot/GetpixelColor Problem Java Basics - Anfänger-Themen 2
G Array schreiben durch Robot Java Basics - Anfänger-Themen 8
C java.awt.Robot; Java Basics - Anfänger-Themen 16
W Windows clipboard zugriff / Robot tricks ? Java Basics - Anfänger-Themen 2
S Robot ohne Focus. Java Basics - Anfänger-Themen 6
T Robot-Problem mit Sonderzeichen Java Basics - Anfänger-Themen 2
M Verwendung von Robot... wie? Java Basics - Anfänger-Themen 6
B java.awt.Robot Problem. Java Basics - Anfänger-Themen 11
T IntelliJ / SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". Java Basics - Anfänger-Themen 4
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
C Was tun wenn .class erwartet wird ? Java Basics - Anfänger-Themen 6
M "Class<T> clazz" im Constructor - auch für int möglich? Java Basics - Anfänger-Themen 7
M error: '.class' expected switch(char) Java Basics - Anfänger-Themen 32
123456789sssssaaaa Java Wrapper Class Java Basics - Anfänger-Themen 13
FHEFHJHFJH error: class names, 'summe_bsp', are only accepted if annotation processing is explicitly requested Java Basics - Anfänger-Themen 3
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
J Methode als Class anlegen Java Basics - Anfänger-Themen 7
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
G Could not initialize class “NoClassDefFoundError" Java Basics - Anfänger-Themen 2
Mr_Kleeblatt Operatoren if (arri[i] != "test.java"&& arri[i] != "test.class") Java Basics - Anfänger-Themen 3
S Generics-Problem: Class, Class<?>, Class<Object> Java Basics - Anfänger-Themen 4
J Klassen .class Datei öffnen Java Basics - Anfänger-Themen 31
C "HelloWorld" - Dateien erstellt, aber ist es eine class-Datei? Java Basics - Anfänger-Themen 2
O Verständniss Problem bei abstract class Java Basics - Anfänger-Themen 7
H .class Datei wird nicht ausgeführt Java Basics - Anfänger-Themen 2
H .jar unterschied .class Java Basics - Anfänger-Themen 3
J class version 52 und 56 Java Basics - Anfänger-Themen 6
L Fehler bei der AUsführung der .class Datei Java Basics - Anfänger-Themen 23
A Class not found - Jar liegt am classpath Java Basics - Anfänger-Themen 2
A Wie erkennt die JVM welche class verwendet werden muss? Java Basics - Anfänger-Themen 3
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
J Methoden Methoden einer public class AutoCompleteTextField verwenden Java Basics - Anfänger-Themen 14
R HTTP-Links in Java Class finden Java Basics - Anfänger-Themen 3
D jsoup get class name mit leerzeichen Java Basics - Anfänger-Themen 7
D doc.seect jsouo bestimmtes class element finden Java Basics - Anfänger-Themen 1
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
N Fehlende .class Datei Java Basics - Anfänger-Themen 4
S Daten aus eigenständiger .class-Datei abrufen Java Basics - Anfänger-Themen 1
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
W Externe class in Eclipse importieren Java Basics - Anfänger-Themen 0
X Variablen Problem bei Aufteilung in verschiedene Class-Files Java Basics - Anfänger-Themen 4
Javafan01 Dateiname und Public class Java Basics - Anfänger-Themen 4
S Klassen Class mit Funktionen importieren Java Basics - Anfänger-Themen 1
L jar, class, java und wieder zurück Java Basics - Anfänger-Themen 8
T class Datei auslesen Java Java Basics - Anfänger-Themen 5
B Classpath Class lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
temi Verständnisproblem Class.forName() Java Basics - Anfänger-Themen 3
S setText aus anderer class heraus Java Basics - Anfänger-Themen 6
L Classpath Zwei Bibliotheken enthalten gleiche .class Datei Java Basics - Anfänger-Themen 6
F Taschenrechner "Error loading class..." Java Basics - Anfänger-Themen 5
D Interface Amazon Skill Kit, Interface but method in other class? Java Basics - Anfänger-Themen 3
J Compiler-Fehler class interface or enum expected Java Basics - Anfänger-Themen 1
wilmaed protected class Java Basics - Anfänger-Themen 0
C Erste Schritte Fehler beim *.class Aufruf über cmd.exe Java Basics - Anfänger-Themen 9
N class in class Java Basics - Anfänger-Themen 13
B Linux - Error: Could not find or load main class application.Main Java Basics - Anfänger-Themen 28
V Was bewirkt das Schlüsselwort extends in Verbindung mit class bzw. public class ? Java Basics - Anfänger-Themen 2
Azazel Ist die abstract class das selbe wie ein interface ? Java Basics - Anfänger-Themen 33
lBlKha0s Fehlermeldung : class interface or enum expected Java Basics - Anfänger-Themen 9
P could not find main class obwohl da Java Basics - Anfänger-Themen 17
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
T error: class, interface, or enum expected Java Basics - Anfänger-Themen 5
D Compiler-Fehler error: .class expected Java Basics - Anfänger-Themen 2
S Dataflow von Start bis die SystemProperties class Java Basics - Anfänger-Themen 1
Detox Class Datei erzeugen nicht möglich über cmd Java Basics - Anfänger-Themen 1
M Scanner class Java Basics - Anfänger-Themen 6
A attach source: Zusammenhang zwischen JAR und .class/.java Dateien? Java Basics - Anfänger-Themen 2
L Compiler-Fehler error: class, interface or enum expected Java Basics - Anfänger-Themen 2
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
P Compiler-Fehler Could not load or find main class fehler Java Basics - Anfänger-Themen 15
J Gestaltung der GUI.class Java Basics - Anfänger-Themen 1
P Compiler-Fehler could not find or load main class Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben