Ejemplos java y C/linux

Tutoriales

Enlaces

Licencia

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Para reconocer la autoría debes poner el enlace http://www.chuidiang.org

Ejemplo de imágenes con librería gráfica: Los peces que pululan

Un ejemplo de uso de la librería gráfica. En unos ejes x,y vamos a dibujar una unos peces paseándose. Para ello usamos el GraficoSimbolos, al que se le pasa un array de imagenes, un array de etiquetas y las posiciones para cada imagen. Haremos además que los peces se muevan cada medio segundo.

Como objetos gráficos adicionales, añadiremos una mano que permite arrastrar el gráfico con el botón derecho del ratón, una botonería de zoom para acercar y alejar el gráfico, así como un zoom con el ratón, arrastrando con el botón izquierdo.

Nota: Las imágenes de los peces las he bajado de http://www.iconbazaar.com y no puedo distribuirlas, así que desde aquí no te las puedes descargar.

Some images here provided by:
IconBAZAAR www.iconbazaar.com

CÓDIGO PARA LA CREACIÓN DE ESTE GRÁFICO

El gráfico se inicializa como un gráfico x,y con la x entre -100 y 100 y la y entre -100 y 100. Aprovechamos para ponerle también un marco de color gris.

lienzo = new Lienzo();
lienzo.setBackground(Color.black);
eg = new EscalaGraficaCartesiana();
eg.tomaExtremos(-100.0, -100.0, 100.0, 100.0);
lienzo.tomaEscala(eg);
lienzo.setMargenes(10, 10, 10, 20);
lienzo.setColorMarco(Color.GRAY);
lienzo.setPintarMarco(true);

Se le añade un objeto gráfico que es el que pinta los peces. Lo inicializamos con un array de cinco imágenes de peces, cinco etiquetas y cinco posiciones aleatorias entre -75 y 75 para x e igual para y.

puntos = new Point2D.Double[numeroPeces];
etiquetas = new String[numeroPeces];
for (int i = 0; i < numeroPeces; i++)
{
    puntos[i] = new Point2D.Double(Math.random() * 150 - 75, Math.random() * 150 - 75);
    etiquetas[i] = "Pez_" + i;
}
gs = new GraficoSimbolos(puntos, imagenes, etiquetas);
lienzo.tomaObjetoGrafico(gs);

Se le añaden otros objetos gráficos

// La Mano permite arrastrar el gráfico con el botón derecho del ratón
Mano mano = new Mano(eg, lienzo);
lienzo.anhadeObservadorRaton(mano);

// El CursorZoom permite hacer zoom arranstrando con el botón izquierdo del ratón
CursorZoom cursor = new CursorZoom();
lienzo.anhadeObservadorRaton(cursor);

// Unas líneas vertical y horizontal que se mueve junto con el ratón.
CursorHilo cursor2 = new CursorHilo(true, true);
lienzo.anhadeObservadorRaton(cursor2);

Y esto es todo. Tienes disponible lo siguiente:

Estadísticas y comentarios

Numero de visitas desde el 4 Feb 2007: