Alternative zu Robot (wegen Umlauten)

Status
Nicht offen für weitere Antworten.

spinnerudi

Mitglied
Ich habe eine virtuelle Tastatur.
Die Tastendrucks werden per Robot.keypress(keycode) simuliert.
Im Forum bin ich auf die Suche nach der Lösung gegangen, um die Umlauttasten ä, ö und ü
zu simulieren.
Das Problem ist ja, dass diese Tasten keine Keycodes haben.

In einem Thread habe ich gelesen, dass ein User anscheinend eine Lösung mit der
AWTEventQueue gefunden hat!?
Hat jemand mehr Tipps???

Danke
 
G

Gast

Gast
richtig.
implementiere AWTEventListener und in der Methode
Code:
public void eventDispatched(AWTEvent arg0) {
}
kannste dann alle events die passieren abfragen.

da werden dann auch umlaute ausgegeben.


wenn ich zb. nen frame benutze, der die methode implementiert, und dann ä drücke erhalte ich das hier:

KEY_RELEASED,keyCode=0,keyText=Unknown keyCode: 0x0,keyChar='ä',keyLocation=KEY_LOCATION_STANDARD
 

Grizzly

Top Contributor
Gute Frage.

Habe gerade mal ein Fenster gebastelt und daran einen KeyListener rangehängt:
KeyChar = ä
KeyCode = 0
KeyEvent.getKeyText(e.getKeyCode()) = Unknown keyCode: 0x0

:bahnhof:
 

thE_29

Top Contributor
Jo, das ist super lustig ;)


Hatte das Problem auch schonmal!

Anscheinened sind Sun alle ausländisches Zeichen einfach egal..

Dafür gibts ab 1.5 die WIndows Taste...
 

thE_29

Top Contributor
Nach bisi forschen kommt man zu so einem hack ;)

Code:
  private void pressSpecialSign(int code, Robot instance)
  {
    Clipboard clippy = Toolkit.getDefaultToolkit().getSystemClipboard();
    Transferable clippysContent = clippy.getContents( null );
    try{

      StringSelection selection = new StringSelection(new String(new char[]{(char)code}));
      clippy.setContents( selection,selection  );
      //drückt STRG+V == einfügen
      instance.keyPress( KeyEvent.VK_CONTROL );
      instance.keyPress(KeyEvent.VK_V);
      instance.keyRelease(KeyEvent.VK_V);    
      instance.keyRelease( KeyEvent.VK_CONTROL );
        //oder wenn das keine Exception wirft
  /*    robi.keyPress( KeyEvent.VK_PASTE );
      robi.keyRelease( KeyEvent.VK_PASTE );*/
    }
    catch(Exception ex)
    {
      ex.printStackTrace();
    }
    clippy.setContents( clippysContent ,null); //zurücksetzen vom alten Kontext
  }
 

spinnerudi

Mitglied
Na gut aber die Tasten ä, ö und ü haben ja keinen Keycode, wie soll ich deiner pressSpecialSign-Methode dann diesen code mitgeben???
 

Tobias

Top Contributor
code ist kein Tastancode sondern ein ASCII-Wert.

mpG
Tobias

PS: Ich finde die Lösung ziemlich ausgefuchst...
 

lhein

Top Contributor
also einige Sachen kannst auch emulieren...

z.B. Ä als Events:

ALT pressed
numpad 0 pressed + released
numpad 1 pressed + released
numpad 9 pressed + released
numpad 6 pressed + released
ALT released

funktioniert halt nur mit ASCII.

lr
 

thE_29

Top Contributor
Das hatte ich zuerst auch ;)


Nur ist der Wert bei dem Ö nicht ANSI was in Java zurückkommt, sondern ein falscher!

Würdest du das Ö nehmen und den char Wert nehmen und den so eingeben lassen, kommt irgendwas raus..
 

thE_29

Top Contributor
Ajo...

Diese Werte sollten nie > 255 sein ;)

Ä = 142

Ö = 153

In Java kommen aber für Ä und Ö 196 und 214 zurück!

Wenn man also ne 0 vorne hinklebt, klappt das auch so (wusste ich nicht)

Ich bleibe bei den "originalen" Codes ;)
 

thE_29

Top Contributor
Tjo und diese Zahl übergibst du meiner Funktion und dann brauchst du kein ALT rumgefumle!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Gibt es mittlerweile eine Alternative zu DaisyDiff Allgemeine Java-Themen 2
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
W Alternative für Threads Allgemeine Java-Themen 6
Thallius Alternative für SwingWorker Allgemeine Java-Themen 5
J Suche Alternative zu Jasper Reports Allgemeine Java-Themen 4
M Suche Alternative zu JFreeChart Allgemeine Java-Themen 11
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
M DAOs veraltet - was ist die Alternative? Allgemeine Java-Themen 13
MiMa Array umbau oder Alternative? Allgemeine Java-Themen 5
C Alternative zu NetworkX in Java Allgemeine Java-Themen 1
M Alternative zur Serialisierung.. Protobuf? Allgemeine Java-Themen 9
B Alternative zu nebenläufigen Prozessen Allgemeine Java-Themen 4
BonoBoo Alternative zum endlosen Instanzieren Allgemeine Java-Themen 2
F Platzsparende Alternative zu .txt-Dateien Allgemeine Java-Themen 12
E Gewollte Endlosschleife unterbrechen oder Alternative gesucht Allgemeine Java-Themen 2
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
F alternative zu "JPEGImageDecoderImpl" Allgemeine Java-Themen 2
T Timer oder Alternative? Allgemeine Java-Themen 3
G Alternative zu .properties Dateien Allgemeine Java-Themen 20
S Alternative zu SortedMap? Allgemeine Java-Themen 8
H Alternative zu Stack Allgemeine Java-Themen 3
pikay Jar2Exe Alternative? Allgemeine Java-Themen 17
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
H Alternative if Schreibweise mit ? Allgemeine Java-Themen 10
G suche Property alternative Allgemeine Java-Themen 4
H Wie schön oder unschön ist dieser code - alternative ? Allgemeine Java-Themen 5
E Viele if Abfragen auf viele Strings --> Alternative zu if Allgemeine Java-Themen 8
G libext Alternative? Allgemeine Java-Themen 5
foobar Alternative zu JavaHelp gesucht Allgemeine Java-Themen 2
I Alternative zu getClass().getResourceAsStream() ? Allgemeine Java-Themen 9
D System.setProperty alternative Allgemeine Java-Themen 4
J alternative zu rsh ? Allgemeine Java-Themen 5
K KeyListener-Alternative ohne anfängliches Delay ? Allgemeine Java-Themen 5
G Alternative zu split() Allgemeine Java-Themen 3
K Alternative zu JNI Allgemeine Java-Themen 3
P Alternative zu replaceAll (jdk < 1.4) Allgemeine Java-Themen 14
M Alternative zu Thread : stop() ? Allgemeine Java-Themen 10
_user_q JavaFX Robot alle Unicode-Zeichen schreiben lassen können Allgemeine Java-Themen 12
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
T Java Robot Class - Bot Allgemeine Java-Themen 3
R Input/Output Programmierung mithilfe der Robot Bibliothek Allgemeine Java-Themen 15
N Java Robot Printscreen in bestimmter Konstellation Allgemeine Java-Themen 2
E Robot Allgemeine Java-Themen 2
H Input/Output Robot Tastenereignisse Allgemeine Java-Themen 2
P Robot --> Keyevent --> ö, ä, ü, - Allgemeine Java-Themen 8
J Erklährung für Robot KeyEvent anweisungen Allgemeine Java-Themen 2
U String und Robot Allgemeine Java-Themen 19
G Screenshot mittels robot ausführen Allgemeine Java-Themen 4
S Bestimmte Tasten mit der Robot Klasse? Allgemeine Java-Themen 4
O Java-Applikation tut in Netbeans, als JAR nicht, wegen Pfadangaben einer benötigten Datei Allgemeine Java-Themen 8
L Übergabe an eine eher einfache Java- Applikation wegen Kündigung Allgemeine Java-Themen 1
H Frage wegen Heap-Speicher Allgemeine Java-Themen 2
xehpuk clone() wegen leerem Cloneable quasi nutzlos? Allgemeine Java-Themen 6
I EDT scheint zu blocken wegen Dateioperation in anderem Thread Allgemeine Java-Themen 9
B jar File macht probleme wegen einer Methode! Allgemeine Java-Themen 5
F Frage wegen Tasks Allgemeine Java-Themen 2
L Programm läßt sich wegen Java unter Linux nicht starten Allgemeine Java-Themen 4
C Flimmern wegen eines Thread verhindern Allgemeine Java-Themen 8
D jdk fehlermeldung probleme wegen der partition? Allgemeine Java-Themen 10
P java high cpu load wegen endlosschleife Allgemeine Java-Themen 6
S SWING UND AWT!Problem wegen Canvas! Allgemeine Java-Themen 29
M Performanceproblem wegen ständiger Skriptausführung Allgemeine Java-Themen 3
C frage wegen arrays Allgemeine Java-Themen 8
C frage wegen jar Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben