[swing]キーを受け付けるコンポーネントを作るとき
デフォルトではJComponentはキーを受け付けません。
なので、KeyListenerを登録してもイベントは発生しません。
setFocusable(true)を呼んでキーを受け付けるようにします。
public class MyEditor extends JComponent { public MyEditor() { this.setFocusable(true); // ★コレ! this.addKeyListener(...); } }
フォーカスを実際に与えるためには、grabFocus()を呼びます。
これは、表示した後に呼ぶ必要があります。