• 締切済み

ショートカットの作り方

Javaアプリケーションを製作中で、ショートカットキーを作りたいのですが、メニュー部分を作ってないので Ctrl+いずれかのキーというショートカットが作れないのです。 そこで、ひとつのキーを押すだけでショートカットキーのような機能を持たせたいのですが、どうしたらよいのでしょうか? 参考となる本等ありましたら、教えていただけないしょうか? よろしくお願いします。

みんなの回答

  • takaP-
  • ベストアンサー率79% (83/105)
回答No.4

>ファンクションキーを押すとページジャンプするような方法は可能でしょうか? ページジャンプがどういうものか分からないのでお答えできませんが、ファンクションキーでしたら定数がありますよ。 java.awt.event.KeyEvent# VK_F1 ~ VK_F24 addKeyListener(new KeyAdapter(){   public void keyPressed(KeyEvent e){     if(e.getKeyCode()==KeyEvent.VK_F*){       //ページジャンプ(?)の処理     }   } }); *の処に希望の数値を入れれば良いだけです。

  • takaP-
  • ベストアンサー率79% (83/105)
回答No.3

#1の方もおっしゃっているように、何もメニュー(バー?) を作らなくても Ctrl+Key の処理は出来ますよ。 この動作をするときにフォーカスが当たっている(べき) コンポーネントに。。。 addKeyListener(new KeyAdapter(){   public void keyPressed(KeyEvent e){     if(e.getKeyCode()==KeyEvent.VK_A && e.getModifiers()==InputEvent.CTRL_MASK){       // 目的の処理     }   } }); としておけば、上記の場合でしたら Ctrl+A のイベントが拾えます。

nakniy
質問者

お礼

ありがとうござました。参考にさせていただきました。 ところで、ファンクションキーを押すとページジャンプするような方法は可能でしょうか?もしよろしかったら教えてください。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

こんにちは、No.1のarukamunです。 すみません、タイプミスしてしまいました。 case 'A' ; case 'a' ; と書いていますが、;(セミコロン)ではなく:(コロン)です。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

こんにちは public boolean keyDown(Event e,int key) {   if ( ( e.modifiers & Event.ALT_MASK ) != 0 ){     // ALT + ?     switch ( key ){     case 'A' ;     case 'a' ;       // ALT + A       break ;     // ・・・     }   } else if ( ( e.modifiers & Event.META_MASK ) != 0 ){     // META + ?     switch ( key ){     case 'A' ;     case 'a' ;       // META + A       break ;     // ・・・     }   } else if ( ( e.modifiers & Event.CTRL_MASK ) != 0 ){     // Ctrl + ?     switch ( key ){     case 'A' ;     case 'a' ;       // Ctrl + A       break ;     // ・・・     }   } else {     switch ( key ){     case 'A' ;     case 'a' ;       // A       break ;     // ・・・     }   } } Javaが出たばかりの頃は上記の様な事をやっていた様な気がしますが、最近のJavaの傾向は知りません。