0

私の目的は、printscreen キーでアプリケーションを閉じるようにすることです (理想的には、実際にクリップボードにコピーする前ですが、重要ではありません)。他のキーバインドが機能していますが、printscreen をトリガーする方法がわかりません。以下のコードで、「VK_PRINTSCREEN」を「VK_M」(または別のキー) に置き換えると、文字 m がアプリを閉じます。必要な機能があります。printscreen を適切に呼び出す方法について何か提案はありますか? またはこれを達成する方法に関する他のアイデアはありますか?

 private void bindKeys() {
            JRootPane rp = getRootPane();
            int c = JComponent.WHEN_IN_FOCUSED_WINDOW;
            InputMap inputMap = rp.getInputMap(c);
            ActionMap actionMap = rp.getActionMap();
            inputMap.put(KeyStroke.getKeyStroke("UP"), "UP");
            actionMap.put("UP", upAction);
            inputMap.put(KeyStroke.getKeyStroke("DOWN"), "DOWN");
            actionMap.put("DOWN", downAction);
            inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_PRINTSCREEN,0),"PRINT"); 
            actionMap.put("PRINT", rightAction);
        }
     private AbstractAction upAction = new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("UP");
            }
        };

        private AbstractAction downAction = new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("DOWN");
            }
        };

        private AbstractAction rightAction = new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("PRINT");
                System.exit(0);
            }
        };
4

0 に答える 0