Foro sobre Java SE > Problema JMenuBar color
Hola, buenos dias. Lo que te esta ocurriendo puede ser debido a los Look and Feel, si estas trabajando con netbeans, este automáticamente cuando creas una interfaz, automáticamente en su main crea un trozo de código para establecer el look and feel según el sistema.
Si estas ejecutando directamente ese JFrame creado por netbeans ese trozo que establece el look and feel se esta ejecutando y por tanto la ventana tendrá el aspecto de acuerdo al look and feel cargado(Si te fijas en mi código a mi me cargará el look and feel llamado Nimbus.... hay muchos ). El código que te mete en el main es algo parecido al siguiente:
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
Si eliminas ese bloque de código del main, los colores que aplicas de fondo y demás se veran al ejecutarlo, si tienes el look and feel activado, el aspecto sera según el look and feel que cargues... Incluso hay look and feels de mac... jeje
Bueno esa puede ser la razon por la que no se te aplica el color... si no es por eso ya habría que investigar un poco mas.
Bueno, ya nos contaras. Un saludo
Grandeeeeeeeeee
Buenas noches, para hacer que el JMenuBar sea transparente, el método setBackground(color) no funcionará directamente, ya que los menús generalmente tienen un fondo opaco. En su lugar, puedes intentar establecer la propiedad setOpaque(false) en el JMenuBar para hacerlo transparente. Aquí tienes un ejemplo:
JMenuBar menuBar = new JMenuBar();
menuBar.setOpaque(false); // Hace que sea transparente
menuBar.setBackground(new Color(0, 0, 0, 0)); // Establece el color transparente (opcional)
frame.setJMenuBar(menuBar);
Con esto, deberías lograr que el JMenuBar se mezcle con el fondo de la ventana. ¡Espero que te funcione!
_______________________________________________________________
Maestro de programación de EBC | Soy programador profesional | Me gusta la música.
Buenas noches comunidad, tengo problemas para cambiar el color al JMenuBar, uso el simple metodo setBackground(color); pero no funciona :(. Alguna idea de que podria ser, trato de que sea "transparente" con el color de la ventana. Gracias