Impedisci che l'icona della barra delle applicazioni rubi lo stato attivo quando si fa clic
Domanda
Sto scrivendo un'applicazione in Java che inserisce un'icona nella barra delle applicazioni (tramite SWT ). Quando si fa clic su questa icona, desidero averla automaticamente digitare alcuni tasti (tramite il Robot class) in qualunque campo di testo sia attivo al momento del clic (potrebbe essere in qualsiasi finestra). Sfortunatamente, facendo clic sull'icona nella barra delle applicazioni si allontana lo stato attivo dalla finestra precedentemente focalizzata, rubando in tal modo i tasti premuti.
C'è un modo per far digitare il testo nella finestra precedentemente focalizzata?
Soluzione
Probabilmente no, almeno non facilmente. Questo problema è stato discusso in precedenza.
Altri suggerimenti
Sebbene non possa essere considerata una soluzione ufficiale, ho riscontrato un certo successo emettendo i tasti ALT + TAB
immediatamente prima di emettere i tasti testuali.
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_TAB);
// ... The keyPress/keyRelease pairs for the actual characters now begin
Come ho detto, questa è lungi dall'essere una soluzione ufficiale, considerando che la combinazione ALT + TAB
non può essere considerata come un comando di transizione focus universale. Tuttavia, sembra adattarsi al conto per la mia situazione particolare.