##
COLORES DE FONDO Y TEXTO

El impacto visual del color nunca debe ser desestimado cuando se ataca el diseño de una interface de usuario. El color tiende a atraer la visión y puede utilizarse para llamr la atención sobre una parte importante del interface. En el ejemplo siguiente, el color rojo alrededor del botón hace que la vista se fije inmediatamente en él.

La clase Component proporciona dos métodos para modificar el color de un Componente. A través de los métodos setBackground() y setForeground(), se pueden indicar los colores del fondo y del texto, respectivamente:

        public void setBackground( Color c )
        public void setForeground( Color c )

Ambos métodos solamente necesitan un parámetro, un objeto Color. A continuación mostramos un ejemplo de su uso:

        TextArea ta = new TextArea();
        ta.setBackground( Color.blue );
        ta.setForeground( Color.red );

Este código funcionará con ligeras modificaciones para casi todos los Componentes del AWT. Si se cambia el Color de un Contenedor, todos los Componentes colocados dentro de ese Contenedor, automáticamente adoptan el nuevo color. El applet, CambioColor.java, ilustra este punto. El Color solamente se fija para el color de fondo del objeto Frame; el botón, la caja y el área de texto usarán ese mismo color de fondo.

    import java.awt.*;
    import java.applet.Applet;

    public class CambioColor extends Applet {

        public static void main( String args[] ) {
            Frame fr = new Frame( "Cambio de Color" );
            CambioColor cc = new CambioColor();

            fr.setBackground( Color.red );
            fr.setLayout( new FlowLayout() );
            Button b = new Button( "Hola" );
            fr.add( b );
            Checkbox cb = new Checkbox( "Púlsame" );
            fr.add( cb );
            TextArea ta = new TextArea();
            fr.add( ta );

            fr.pack();
            fr.show();
            }
        }

La calidad de soporte del color varía mucho de una plataforma a otra. Bajo Windows '95, la clase Button ignora totalmente los comandos de color y se empeña en permanecer bajo un patrón de grises. Por otro lado, el fondo de la clase Label parece ser transparente. Algunos Componentes no se presentan en pantalla con un mismo color para un mismo objeto Color. Bajo Windows '95, un fondo de color naranja aparece como naranja en muchos Componentes (excepto en los botones), pero se presenta como amarillo cuando se trata de objetos TextArea o TextField. El soporte del color en Solaris parece ser mucho más consistente.

|  | ##### [Anterior] [Indice] [Siguiente]