Agregar accesos directos a los elementos del submenú JMenuBar en el diseñador de la GUI de Java Swing es obvio, pero ¿cómo se agregan los accesos directos a los elementos del menú principal de JMenuBar?¿Cómo agregar los atajos de JMenuBar?
Respuesta
Tiene dos tipos de atajos de teclado: mnemónicos y aceleradores.
Los mnemotécnicos generalmente se activan usando Alt + KEY. Esa es la letra que se subraya en el texto del elemento del menú (F para Archivo, por ejemplo). Los aceleradores son accesos directos a toda la aplicación que generalmente se desencadenan con Ctrl + KEY.
Para utilizar mnemotécnicos, puede utilizar el método de setMnemonic()
:
menuItem.setMnemonic('F');
Para utilizar aceleradores, usted tiene que utilizar el método setAccelerator()
.
menuItem.setAccelerator(KeyStroke.getKeyStroke(
java.awt.event.KeyEvent.VK_S,
java.awt.Event.CTRL_MASK));
Gracias. 'menuItem.setMnemonic ('F');' hizo exactamente lo que se necesitaba. – jacknad
Tenga en cuenta que 'setMnemonic' siempre utiliza la primera aparición de la letra (consulte' SwingUtilities # findDisplayedMnemonicIndex'). Si necesita utilizar una última aparición, use 'AbstractButton # setDisplayedMnemonicIndex', que corresponde a' Action.DISPLAYED_MNEMONIC_INDEX_KEY'. (Por cierto, te recomiendo que establezcas propiedades de acción y luego llames a 'AbstractButton # setAction' en lugar de llamar directamente a esos métodos JComponent.) –
¿Cuál es la diferencia entre accelerator y setMnemonic? –
El sitio de Sun/Oracle tiene un gran tutorial sobre el uso JMenu's Cuando se trata de teclas de acceso directo, Java utiliza mnemotécnica o acelerador en función del acceso directo que desea utilizar. puede configurar la tecla de acceso utilizando la siguiente
menuItem.setMnemonic(KeyEvent.VK_T);
y el acelerador a través
menuItem.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_T, ActionEvent.ALT_MASK));
Estos son dos ejemplos tomados desde el enlace anterior
- 1. agregar JMenuBar a un JPanel?
- 2. Cambiar un borde JMenuBar
- 3. : los atajos de teclado personalizados no funcionan?
- 4. En NetBeans ¿cómo agrego un jMenuBar a un JPanel?
- 5. ¿Cómo desactivo los atajos de teclado en Matplotlib?
- 6. ¿Cómo instalar atajos de programa para todos los usuarios?
- 7. ¿Cómo integrar un JMenuBar en una arquitectura MVC en Java?
- 8. Atajos globales de cacao?
- 9. Atajos de teclado
- 10. ¿Qué son los "atajos de programador" en emacs?
- 11. Ejecutar atajos como programas
- 12. Agregando espaciado entre elementos en JMenuBar
- 13. Cómo hacer atajos de teclado en .NET
- 14. ¿Alguna buena implementación de los atajos de teclado estilo Fogbugz?
- 15. Atajos de teclado de WebBrowser
- 16. Atajos de teclado con jQuery
- 17. atajos de teclado iPhone/iPad?
- 18. Windows (.lnk) atajos API?
- 19. aplicación iPhone/iPad usando atajos de teclado?
- 20. ¿Cómo se puede agregar Inicio-> Ejecutar atajos en Windows XP?
- 21. Atajos de teclado disponibles para aplicaciones web
- 22. ¿Cuál es la forma más fácil de agregar atajos de teclado globales en Windows?
- 23. Atajos de teclado en WPF MVVM?
- 24. Eclipse - Lista de atajos de teclado predeterminados
- 25. Horribles atajos de teclado de VMware
- 26. Menú desplegable de Tkinter con atajos de teclado?
- 27. jQuery UI datepicker: Configurar atajos de teclado
- 28. ¿Hay alguna forma de modificar los atajos de teclado en eclipse?
- 29. Atajos de teclado en la aplicación web
- 30. atajos condicionales en consulta LinqToSql
¿Está buscando una manera de hacerlo mediante programación o a través del diseñador de GUI? Si el diseñador de la GUI, ¿qué IDE estás usando? ¿Es esto Netbeans? –
Me gustaría saber cómo hacerlo programáticamente? –