[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
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



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



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.
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
Los ejemplos, que parecen son exelentes …
Excelente explicacion he aprendido mucho
Muy buenos todos los ejemplos y sus explicaciones. Me han sido de mucha ayuda