« メニューに項目を追加 | トップページ | 状態アイコン表示色 »

2009年3月22日 (日)

ショートカットいろいろ

いろいろショートカットキーを付けた。

 

AllergyEditor.java

AllergyEditor で,コマンド-Wでウインドウを閉じる。
////    閉じるボタン追加
//// Object[] options = new Object[]{addBtn,clearBtn};
Object[] options = new Object[]{addBtn,clearBtn, "閉じる"};
        
JOptionPane pane = new JOptionPane(view,
    JOptionPane.PLAIN_MESSAGE,
    JOptionPane.DEFAULT_OPTION,
    null,
    options, addBtn);
dialog = pane.createDialog(inspector.getContext().getFrame(), ClientContext.getFrameTitle("アレルギー登録"));

////    command-w でウインドウクローズ
InputMap im = dialog.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.META_MASK);
im.put(key, "close-window");
dialog.getRootPane().getActionMap().put("close-window", new AbstractAction() {
  public void actionPerformed(ActionEvent e) {
    dialog.dispose();
  }
});

 

SaveDialog.java

CLAIM 送るかどうかをスペースキーで切り替える。
public SaveDialog(Window parent) {
 ・
 ・
////↓   SPACE で CLAIM 送信のチェックボックスの ON/OFF をする
  InputMap im = okButton.getInputMap(JComponent.WHEN_FOCUSED);
  KeyStroke spaceKey = KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0);
  // もともと,SPACE には okButton 'pressed' が割り当てられているので,これを削除する
  while (im != null ){
    im.remove(spaceKey);
    im = im.getParent();
  }
  // 登録
  im = dialog.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
  im.put(spaceKey, "toggle-claim");
  dialog.getRootPane().getActionMap().put("toggle-claim", new AbstractAction() {
    public void actionPerformed(ActionEvent e) {
      sendClaim.doClick();
    }
  });
////↑
}

 

plulgin/SchemaEditorImpl.java

// ショートカット登録
InputMap im = view.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
// command-z = undo
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.META_DOWN_MASK), "undo");
view.getRootPane().getActionMap().put("undo", new AbstractAction(){
  public void actionPerformed(ActionEvent e) {
    undoBtn.doClick();
  }
});
// escape = cancel
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "escape");
  view.getRootPane().getActionMap().put("escape", new AbstractAction(){
    public void actionPerformed(ActionEvent e) {
      cancelBtn.doClick();
    }
  });
// enter = カルテに展開
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "enter");
view.getRootPane().getActionMap().put("enter", new AbstractAction(){
  public void actionPerformed(ActionEvent e) {
    okBtn.doClick();
  }
});

« メニューに項目を追加 | トップページ | 状態アイコン表示色 »

OpenDolphin」カテゴリの記事