me gustaría tener ⌘ +W cerrar una ventana/JFrame
en un programa que estoy escribiendo en Clojure. ¿Cómo se puede lograr esto? Las soluciones Pure Java también son bienvenidas.cómo tener Comando-W cierra una ventana en Mac OS en Java o Clojure
11
A
Respuesta
13
Aquí hay una manera:
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()));
poner ese Action
en un menú en la barra de menú. El acelerador será Ctrl +W en Windows.
Probablemente mejor sería utilizar la Keybinding API tener el panel principal en cada JFrame
(asumiendo que no múltiple) se unen al mismo KeyStroke
como anteriormente en su (WHEN_FOCUSED
) mapa de entrada a una acción en su mapa de acción que cierra el marco .
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);
}
}
Cuestiones relacionadas
- 1. Clojure editor/IDE recomendaciones en Mac OS X
- 2. ¿Funciona Java FileChannel.tryLock en Mac OS X?
- 3. Instalación de Java 6 en Mac OS
- 4. ¿Cómo incrusto datos en una sección TEXT del archivo binario mac-o de Mac OS X?
- 5. Java 6 en Mac PowerPC con Mac OS X 10.4
- 6. ¿Cómo puedo bloquear el cursor en el interior de una ventana en Mac OS X?
- 7. Detecta cuando una ventana de Mac OS X cambia de tamaño o se mueve
- 8. Problema al instalar leiningen en mac os
- 9. Mac OS X arquitectura de aplicación de ventana única Cocoa
- 10. Java arrastrar y soltar en Mac OS X
- 11. install make command sin tener make (mac os 10.5)
- 12. XAMPP o MAMP en Mac OS X 10.6.2 (Snow Leopard)
- 13. Ventana de notificación en Mac. Con o sin Qt
- 14. Scala - Java =? (O Clojure -? = Java)
- 15. Java FX en Eclipse en Mac OS X 10.7
- 16. JNotify en Mac OS X?
- 17. ¿Cómo instalo wxPython en Mac OS X?
- 18. ¿Cómo configurar libusb en Mac OS X?
- 19. Desarrollador Java cumple Objective-C en Mac OS
- 20. ¿Cómo ejecuto automáticamente una aplicación en USB attach o CD insert en Mac OS X?
- 21. Comprobar si una ventana emergente se cierra
- 22. Cómo eliminar el botón Maximizar en la ventana de la herramienta Mac OS X en Qt
- 23. No hay fuente de Java en Mac OS X
- 24. ¿Cómo implemento una interfaz Java en Clojure
- 25. Herramienta de Java Profiler en Mac OS X
- 26. GUI de Java Swing en Mac OS X
- 27. Supervisión del portapapeles en Mac OS X | Java
- 28. Obteniendo la posición "global" del mouse en Mac OS X
- 29. Cancelar una ventana que se cierra en WPF
- 30. Cómo modificar los colores de los botones de la ventana en Mac OS X