in

java – JFrame.setBackground () no funciona, ¿por qué?

apple touch icon@2

¿Por qué las ventanas no son de color cian como se esperaba?

El problema aquí es que el área donde el contenido de la JFrame que se muestra es en realidad el «panel de contenido», y no el contenido del JFrame sí mismo.

Por tanto, la siguiente línea:

mainFrame.setBackground(Color.CYAN);

Está cambiando el color de la JFrame, pero esa no es realmente la parte que es inmediatamente visible cuando el JFrame se visualiza.

Lo que se necesita es cambiar el color de lo que se denomina «panel de contenido *» (consulte Cómo utilizar los paneles raíz para una ilustración), cambiando la línea anterior a lo siguiente:

mainFrame.getContentPane().setBackground(Color.CYAN);

El uso de Frames en Swing podría ser sorprendentemente poco intuitivo al principio, por lo que recomendaría encarecidamente que eche un vistazo a los recursos que he enumerado al final de esta respuesta.

¿Hay alguna diferencia entre Color.CYAN y Color.cyan?

No, no hay diferencia entre los dos; ambos son constantes en el Color clase que son Color objetos mismos. La única diferencia está en los nombres de las constantes.

Las constantes con nombres en minúsculas se introdujeron cuando el Color se introdujo la clase (que parece ser JDK 1.0, ya que no hay una notación «Desde» en la especificación de API de Java para el Color class), y los nombres en mayúsculas se agregaron más adelante en JDK 1.4.

Probablemente la suma de las constantes con nombre en mayúsculas se agregaron para hacer los nombres de las constantes en el Color clase consistente con el Convenciones de código para el lenguaje de programación Java En cual Sección 9: Convenciones de nomenclatura establezca que las constantes deben estar en letras mayúsculas.

Recursos

Para obtener más información sobre cómo usar Frames, los siguientes recursos de Los tutoriales de Java sería de interés:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

basics of computer science

Tutorial de conceptos básicos de informática

e2c49aedbbda2ceee050fd1a27256660 1200 80

Batman: Arkham Asylum Riddler Guide: Página 4