ポップアップメニューを表示する キー入力のイベント
ポップアップメニューって右クリックだけじゃなくてキーボードからも開けますよね
キーボード右下のそれっぽいキーです
キーが押されたイベントを作ってそこで押されたキーがそのキーだったかを判別して実行します
private void tableKeyPressed(java.awt.event.KeyEvent evt) { if (table.isEditing()) { table.getCellEditor().stopCellEditing(); } if (evt.getKeyCode() == KeyEvent.VK_CONTEXT_MENU) { JPopupMenu popup = tablePopupMenu(); popup.show(evt.getComponent(), evt.getX(), evt.getY()); } }
中身は右クリックの時と同じです
追記:そういえばこの例では表の直接編集を禁じているので前半のif要りませんでした。こういう配慮をしなくていいからやっぱり表はいじらせないほうがスマートです(断定)
ぼやき:バイトの打ち込み作業を支援するソフトを作ってるのですがそれではセルが多くて直接編集するようにしているためこのifを使ってます。実はそのコピペ。たった3行をコピペ
そもそもこのifは要るのか?という気すらしてきましたが、動くし心配はし過ぎるに越したことはないですね