How to make command-w close windows on Java or clojure’s Mac OS
•
Java
I want to close a window / JFrame in the program I wrote in clojure How will this be achieved? Pure Java solutions are also popular
Solution
This is a method:
Action closeWindow = new AbstractAction("Close Window") {
@Override public void actionPerformed(ActionEvent e) {
// window closing code here
}
};
closeWindow.putValue(Action.ACCELERATOR_KEY,Keystroke.getKeystroke(
KeyEvent.VK_W,Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));
Put this action on the menu on the menu The accelerator will be Ctrl w on windows
Using the keybinding API in each JFrame (assuming multiple) may better bind the main panel to the same keystroke in its (when_focused) input mapping, so that it can operate in the action mapping of closing the frame
public class ClosableWindow extends JFrame {
public void setUp() {
JPanel mainPanel = createMainPanel();
int mask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
Keystroke closeKey = Keystroke.getKeystroke(KeyEvent.VK_W,mask);
mainPanel.getInputMap().put(closeKey,"closeWindow");
mainPanel.getActionMap().put("closeWindow",new AbstractAction("Close Window") {
@Override public void actionPerformed(ActionEvent e) {
setVisible(false);
dispose();
}
});
getContentPane().add(mainPanel);
}
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
