Muszę być w stanie wykryć, czy określony klawisz (np. CTRL) jest naciśnięty podczas określonej operacji. Nie mam dostępu do kluczowego odbiornika ani do zdarzenia myszy. Mam nadzieję, że będzie jakaś klasa, która ma metodę taką jak "boolean isKeyPressed (keycode)".Java - Czy możemy wykryć, czy naciśnięty jest klawisz bez użycia odbiornika?
Czy ktoś świadomy takiej metody w java?
Dla odrobiny tła, próbuję przesłonić domyślne zachowanie przeciągnięcia dla komponentu. Domyślnie, zgodnie z javadocs dla DropTargetDragEvent, jeśli nie zostanie naciśnięty żaden modyfikator klawiszy, to szuka na liście obsługiwanych działań komponentu dla ruchu, a następnie kopii &, a następnie łącza i zatrzymuje się po znalezieniu pierwszego.
W mojej aplikacji obsługujemy obie kopie &. Jak na javadoc, bez wciśniętego klawisza CTRL, domyślną akcją jest kopia. Chcemy, aby użytkownik mógł określić domyślną akcję (pozwalając im ustawić najczęściej używane), a następnie wymusić określoną za pomocą klawiszy modyfikujących.
Jeśli mogę wykryć naciśnięty klawisz, mogę to wymusić, ale nie widzę innego sposobu zmiany domyślnej akcji.
góry dzięki Brian
Dlaczego nie masz dostępu do słuchacza? Nie możesz stworzyć własnego? Z jakiego interfejsu GUI korzystasz? –
Noel - wydaje mi się komentarz do postu Erick Robertson. – DaddyB