23 Temmuz 2020 Perşembe

Swing KeyStroke Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.swing.KeyStroke;
Kullanım
1. Bir component'in getInputMa()p ile InputMap nesnesi alınır. Bu nesneye put() metodu ile bir KeyStroke nesnesi ve bir string eklenir. Elimizde bir KeyStroke olsun
KeyStroke controlA = KeyStroke.getKeyStroke("control A");
Şöyle yaparız
JPanel panel = ...;

InputMap inputMap = panel.getInputMap();
inputMap.put(controlA, "foo");
2. Aynı component'in getActionMap() ile ActionMap nesnesi alınır. Bu nesneye put() metodu ile aynı string ve bir Action nesnesi eklenir. Böylece component'in tuş vuruşları ile bir action çalıştırılır.
Şöyle yaparız
JPanel panel = ...;

/* add a new action named "foo" to the panel's action map */
panel.getActionMap().put("foo", new AbstractAction() {
  public void actionPerformed(ActionEvent e) {
    System.out.println("hello, world");
  }
});
getKeyStroke metodu - keycode + modifiers
Ctrl + A için şöyle yaparız. Bazı örneklerde CTRL_DOWN_MASK kullanılıyor.
KeyStroke controlA = KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK);
getKeyStroke metodu - keycode + modifiers + onKeyRelease
Örnek ver

getKeyStroke metodu - String
Ctrl + A için şöyle yaparız.
KeyStroke controlA = KeyStroke.getKeyStroke("control A");

Hiç yorum yok:

Yorum Gönder