Il Robot lavora con i KeyCode (vedi KeyEvent)
Quindi devi giocartela. Per simulare la digitazione di un carattere al di fuori degli standard, devi simulare quello che potrebbe fare un utente: ALT + (codice ASCII esteso).
Questo esempio scrive una "è":
codice:// Press ALT r.keyPress(KeyEvent.VK_ALT); // 138 r.keyPress(1 + KeyEvent.VK_NUMPAD0); r.keyRelease(1 + KeyEvent.VK_NUMPAD0); r.keyPress(3 + KeyEvent.VK_NUMPAD0); r.keyRelease(3 + KeyEvent.VK_NUMPAD0); r.keyPress(8 + KeyEvent.VK_NUMPAD0); r.keyRelease(8 + KeyEvent.VK_NUMPAD0); // Release ALT r.keyRelease(KeyEvent.VK_ALT);
Si può generalizzare in una funzioncina:
codice:public static void premiCarattere(Robot r, char ch) { r.keyPress(KeyEvent.VK_ALT); for(int i = 3; i >= 0; i--) { // otteniamo i quattro caratteri del valore ASCII del carattere passato int valCifra = ch / (int) (Math.pow(10, i)) % 10; // Aggiungiamo lo scostamento da VK_NUMPAD0 int tastoNumpad = valCifra + KeyEvent.VK_NUMPAD0; // Premi e rilascia r.keyPress(tastoNumpad); r.keyRelease(tastoNumpad); } r.keyRelease(KeyEvent.VK_ALT); }
Un esempio d'uso:
codice:Robot r = new Robot(); premiCarattere(r, 'à');
Ciao.![]()



Rispondi quotando
