Tworzę program w Javie, używając Swing, z graficznym interfejsem użytkownika, który zawiera klawisze strzałek. Klawisze strzałek odpowiadają klawiszom strzałek na klawiaturze.Java Swing: Pokaż naciśnięty przycisk przy użyciu odpowiedniego przycisku klawiatury
Po naciśnięciu klawisza strzałki w górę na klawiaturze, chciałbym, aby strzałka w górę na GUI pojawiła się jako naciśnięcie. Dopóki nie zwolnię klawisza ze strzałką, powinien pokazać, że wciąż jest wciśnięty, a po zwolnieniu powinien również zwolnić.
fragment mojego kodu do tej pory (tylko za pomocą przycisku w górę), co moim zdaniem jest całkowicie błędne w show jest wciśnięty kategoria:
...
if (e.getKeyCode() == KeyEvent.VK_UP) {
actionArrowUp();
JButton buttonUp = (JButton) mainTab.getComponent(4);
buttonUp.setSelected(true);
}
...
@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP)
actionArrowUpRelease();
buttonUp.setSelected(true);
Tak, oczywiście, moje przeprosiny. Często, gdy otrzymuję użyteczną odpowiedź, jestem trochę zbyt pospiesznie i burza, aby ją wykorzystać. Przepraszam za to. – Sven
1) Być może warto rozważyć [Key Bindings] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html). 2) Aby uzyskać lepszą pomoc wcześniej, opublikuj [SSCCE] (http://sscce.org/). 3) Dobre wezwanie do zajmowania się tą inną sprawą. :) –