Java robot Tastenschläge vereinfachen

screamboy14

Mitglied
Hey ich bin gerade dabei mit der Robot Klasse herum zu experimentieren und z.b. einen text in ein text dokument zu schreiben. Bis jetzt hab ich jeden einzelnen buchstaben über ein KeyEvent realisiert (was eine große Menge an Quellcode, aufgrund von release und press aktionen für jeden buchstaben einzeln, hatte).
ich hab auch schon eine relativ komplexe und umständliche methode geschrieben welche einen String zerlegt und über die nummernblock tasten und die alt taste die einzelnen Zeichen realisiert (sonnderzeichen ausgenommen) jedoch wird dies nicht die beste methode respective lösung sein daher meine frage on es eine Methode gibt die es vereinfacht und auch besser ist 🙂 vielen dank für die Hilfe 🙂

hier einmal der quelltext der bissherigen Methode

Java:
public static void Write(String a, Robot r)
    {
        final int keyPadNumbers = 48;
        for (int i = 0; i < a.length(); i++)
        {
            KeyStroke stroke = KeyStroke.getKeyStroke(a.charAt(i),0);
           
            Integer keyCodeValue = stroke.getKeyCode();
           
            String str_keyCodeValue = keyCodeValue.toString();
           
            r.keyPress(KeyEvent.VK_ALT);
            for(int j =0; j< str_keyCodeValue.length(); j++)
            {   
               
                KeyStroke stroke2 = KeyStroke.getKeyStroke(str_keyCodeValue.charAt(j),0);
                int keycode1 = stroke2.getKeyCode();
       
               
               
                r.keyPress(keycode1+keyPadNumbers);
                r.delay(10);
                r.keyRelease(keycode1+keyPadNumbers);
            }
            r.keyRelease(KeyEvent.VK_ALT);
        }
    }
 
Mein vorschlag wäre, dass du dir ne zweite Klasse schreibst (in der du das mit press und release verarbeitest) und diese dann nur noch mit einem Stringparameter aufrufst. So hab ich das jedenfalls mal gemacht.
 
ich versteh jetzt nicht ganz wie du das meinst :/ so hab ich das doch im prinzip schon ...nur nicht als klasse sondern als methode welcher ein string übergeben wird in chars umgewandelt von dem einzelnen char der keycode genommen wird, welcher wiederum in chars und gekeycodet wird um dann uber press und release und der alt + numBlock tasten den jeweilligen buchstaben zu realisieren ... wie meinst du es denn :/ der code dazu steht da ja schon 🙂
 
echt jetzt ? das ist die beste lösung ? dabei denk ich meist immer so kompliziert und cih dachte da gibts noch eine wesentlich bessere methode ... find es auch schade das hier echt NIEMAND sich dazu aufgerufen fühlt zu antworten bis auf dir jetzt 🙂
 

Zurück
Oben