Jak zarejestrować skrót klawiaturowy
Rejestrowanie skrótów klawiaturowych w Javie jest bardzo proste, sprowadza się raptem do obsługi klasy AbstractAction reprezentującej nasze zadanie oraz podczepienia jej pod obiekt typu InputMap.
W poniższym przykładzie podepniemy pod kontrolkę JTextField (Swing) skrót ctrl + S
Na początku zaimportujmy:
Nasze przykładowe zadanie:
Pora na samo stworzenie skrótu klawiaturowego:
text_field w powyższym kodzie reprezentuje kontrolkę JTextField.
Samo KeyStroke może zostać zdefiniowane w inny sposób:
W poniższym przykładzie podepniemy pod kontrolkę JTextField (Swing) skrót ctrl + S
Na początku zaimportujmy:
import javax.swing.AbstractAction; import java.awt.event.ActionEvent; import javax.swing.KeyStroke;
Nasze przykładowe zadanie:
AbstractAction zadanie = new AbstractAction() { public void actionPerformed(ActionEvent ae) { System.out.println("zadanie :-)"); } };
Pora na samo stworzenie skrótu klawiaturowego:
KeyStroke skrot = KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK); InputMap mapa = text_field.getInputMap(JComponent.WHEN_FOCUSED); mapa.put(skrot,zadanie);
text_field w powyższym kodzie reprezentuje kontrolkę JTextField.
Samo KeyStroke może zostać zdefiniowane w inny sposób:
KeyStroke.getKeyStroke("ctrl S");