私の目的は、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);
}
};