gentoo linux, java, software libre y otras hierbas
Dic, 07 2007 - 1:49 pm

[código] Gráficos y Java2D (1)

En esta sección de tratan los contextos y objetos gráficos; el dibujo de cadenas, caracteres y bytes; el control de color y tipo de letra; la manipulación de la pantallas, los modos de pantalla y el dibujo de líneas, rectángulos, rectángulos redondeados, rectángulos tridimensionales, óvalos, arcos y polígonos. Se presenta la API de Java2D, la cual ofrece poderosas herramientas para gráficos.

Demostración de los colores en Java


// Demostración de los colores.
import java.awt.*;
import javax.swing.*;

public class MostrarColores extends JFrame {

   // el constructor establece cadena de barra de título y dimensiones de la ventana
   public MostrarColores()
   {
      super( "Uso de los colores" );

      setSize( 400, 140 );
      setVisible( true );
   }

   // dibujar rectángulos y objetos String en distintos colores
   public void paint( Graphics g )
   {
      // llamar al método paint de la superclase
      super.paint( g );

      // establecer nuevo color de dibujo utilizando enteros
      g.setColor( new Color( 255, 0, 0 ) );
      g.fillRect( 25, 35, 100, 20 );
      g.drawString( "RGB actual: " + g.getColor(), 130, 40 );

      // establecer nuevo color de dibujo utilizando valores float
      g.setColor( new Color( 0.0f, 1.0f, 0.0f ) );
      g.fillRect( 25, 60, 100, 20 );
      g.drawString( "RGB actual: " + g.getColor(), 130, 65 );

      // establecer nuevo color de dibujo utilizando objetos Color estáticos
      g.setColor( Color.BLUE );
      g.fillRect( 25, 85, 100, 20 );
      g.drawString( "RGB actual: " + g.getColor(), 130, 900 );

      // mostrar valores RGB individuales
      Color color = Color.MAGENTA;
      g.setColor( color );
      g.fillRect( 25, 110, 100, 20 );
      g.drawString( "Valores RGB: " + color.getRed() + ", " +
         color.getGreen() + ", " + color.getBlue(), 130, 115 );

   } // fin del método paint

   // ejecutar la aplicación
   public static void main( String args[] )
   {
      JFrame.setDefaultLookAndFeelDecorated(true);
      MostrarColores aplicacion = new MostrarColores();
      aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
   }

} // fin de la clase MostrarColores


Descargar código fuente

Seleccionar colores con JColorChooser

(abajo los screenshots)

// Seleccionar colores con JColorChooser.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class MostrarColores2 extends JFrame
{
   private JButton cambiarColorBoton;
   private Color color = Color.LIGHT_GRAY;
   private Container contenedor;

   // configurar GUI
   public MostrarColores2()
   {
      super( "Uso de JColorChooser" );

      contenedor = getContentPane();
      contenedor.setLayout( new FlowLayout() );

      // configurar cambiarColorBoton y registrar su manejador de eventos
      cambiarColorBoton = new JButton( "Cambiar color" );
      cambiarColorBoton.addActionListener(

         new ActionListener() {  // clase interna anónima

            // mostrar JColorChooser cuando el usuario haga clic en el botón
            public void actionPerformed( ActionEvent evento )
            {
               color = JColorChooser.showDialog(
                  MostrarColores2.this, "Seleccione un color", color );

               // establecer color predeterminado, si no se devuelve un color
               if ( color == null )
                  color = Color.LIGHT_GRAY;

               // cambiar color de fondo del panel de contenido
               contenedor.setBackground( color );
            }

         } // fin de la clase interna anónima

      ); // fin de la llamada a addActionListener

      contenedor.add( cambiarColorBoton );

      setSize( 400, 130 );
      setVisible( true );

   } // fin del constructor de MostrarCOlores2

   // ejecutar la aplicación
   public static void main( String args[] )
   {
      JFrame.setDefaultLookAndFeelDecorated(true);
      JDialog.setDefaultLookAndFeelDecorated(true);
      MostrarColores2 aplicacion = new MostrarColores2();
      aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
   }

} // fin de la clase MostrarColores2

Descargar código fuente

Los ejercicios utilizados en este post están basados en ejemplos del libro Cómo programar en Java de Deitel, y por lo tanto están bajo la licencia que esta editorial disponga.

6 Comentarios | deja el tuyo

Un enlace entrante

5 Comentarios en “[código] Gráficos y Java2D (1)”

  1. Jose Antonio Gomez VIraca dice:

    hola a todos disculpen que los moleste pero tengo una pregunta hacerca de trabajar el texto en java 2D, y es la siguiente:
    como puedo mostrar un texto que este contenido en un rectangulo o Circulo o cualquier otra figura, de tal maneraque cuando el rectangulo se achique si el texto no cabe en el rectangulo muestre puntos.
    es mas o menos asi:
    ****************
    *Hola Como e…*
    * *
    ****************
    siendo esta la frace completa
    *****************
    *Hola como estas*
    * *
    *****************
    trabajando con el TextLayout, pero no encuentro como hacerlo.

    gracias de antemano.

  2. luis desimo dice:

    hola amigo los ejemplos estan buenazos.qisiera q me ayudaras con un ejemplo de como darle movimientos a los graficos- cualqier ayuda porfavor ami correo . gracias

  3. Eduardo dice:

    Los ejemplos, que parecen son exelentes …

  4. Luisao dice:

    Excelente explicacion he aprendido mucho

  5. javier dice:

    Muy buenos todos los ejemplos y sus explicaciones. Me han sido de mucha ayuda

¡Déjanos tu comentario!