import java.awt.*; import java.util.Random; /** * Clase para amacelnar/recuperar puntos con color y grosor de una * tabla de dispersión * @author Amparo López Gaona * @version 1a. ed. */ public class Puntotes extends Frame { private Dispersable tabla; // Tabla para almacenar los puntos private Random rand; // Numero aleatorio para la funcion de dispersion /** * Constructor por omision. Crea 50 puntos dentro del maraco de 200x200. * El color puede ser verde, azul, rojo o negro. */ public Puntotes() { PuntoHash p; int x; int y; int diametroP; Color colorP; Color color[] = { Color.green, Color.blue, Color.red, Color.black }; tabla = new TablaDeDispersion(23); rand = new Random(); for(int i = 0; i < 50; i++) { x = Math.abs(rand.nextInt() % 200); y = Math.abs(rand.nextInt() % 200); colorP = color[ i%4 ]; diametroP = (rand.nextInt() % 20) + 1 ; p = new PuntoHash(x, y, colorP, diametroP, 23); tabla.agregar(p); } resize(200, 200); } /** * Metodo para imprimir los puntos * @param g -- Lienzo en el que se mostrarán los puntos */ public void paint(Graphics g) { PuntoHash p; for (java.util.Iterator it = tabla.iterador(); it.hasNext();) { p = (PuntoHash) it.next(); g.setColor(p.obtenerColor()); g.drawOval(p.obtenerX(), p.obtenerY(), p.obtenerDiametro(), p.obtenerDiametro()); } } }