Menu alineado a la derecha de la barra
Publicado por Alejandro Borisonik (2 intervenciones) el 09/11/2013 02:42:13
Después de dar muchas vueltas, lo conseguí. En google no hay (hasta el momento) una respuesta [clara].
Mi inquietud era lograr colocar un Menú (o varios) a la derecha de una JMenuBar.
Utilizo NetBeans v7.0.1, pero supongo que servirá en cualquier entorno.
Lo logré haciendo lo siguiente:
Cada vez que se redimensiona la JMenuBar, hago que el programa calcule la nueva posición del menú de interés - mnuAyuda -, relacionando los anchos de dicho menú, de la barra y de sus bordes:
ancho de barra - ancho de menú - ancho del borde derecho
1) Agrego un Listener para la JMenuBar, en el momento de creación:
2) Creo la siguiente función:
Con un poco de código podrán alinearse varios menús; el esfuerzo se los dejo a ustedes ;-)
Que sea útil.
Mi inquietud era lograr colocar un Menú (o varios) a la derecha de una JMenuBar.
Utilizo NetBeans v7.0.1, pero supongo que servirá en cualquier entorno.
Lo logré haciendo lo siguiente:
Cada vez que se redimensiona la JMenuBar, hago que el programa calcule la nueva posición del menú de interés - mnuAyuda -, relacionando los anchos de dicho menú, de la barra y de sus bordes:
1) Agrego un Listener para la JMenuBar, en el momento de creación:
1
2
3
4
5
menuBar.addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentResized(java.awt.event.ComponentEvent evt) {
menuBar_componentResized(evt);
}
});
1
2
3
4
5
6
7
private void menuBar_componentResized(java.awt.event.ComponentEvent evt) {
mnuAyuda.setLocation(
menuBar.getSize().width - mnuAyuda.getSize().width -
menuBar.getBorder().getBorderInsets(menuBar).right,
mnuAyuda.getY()
);
}
Con un poco de código podrán alinearse varios menús; el esfuerzo se los dejo a ustedes ;-)
Que sea útil.
Valora esta pregunta


0