PintaLlop - Programa de dibujo
Llop Site Home > JAVA > PintaLlop > Herramientas de dibujo
Herramientas de dibujo:
Clase ColeccionHerramientas package pintallop; import javax.swing.*; /** Título: PintaLlop Descripción: Prácticas capítulo 11, ejercicio 3 Copyright: Copyright (c) 2005 Empresa: Casa_Llop @author Albert_Lobo @version 1.0 */ /** Clase que agrupa las herramientas disponibles para pintar. */ public class ColeccionHerramientas { /** Constante que contiene el total de herramientas diferentes. */ public final static byte TOTAL_HERRAMIENTAS = 6; /** Constante que representa la herramienta de lápiz. */ public final static byte LAPIZ = 0; /** Constante que representa la herramienta de línea. */ public final static byte LINEA = 1; /** Constante que representa la herramienta de rectángulo. */ public final static byte RECTANGULO = 2; /** Constante que representa la herramienta de óvalo. */ public final static byte OVALO = 3; /** Constante que representa la herramienta de texto. */ public final static byte TEXTO = 4; /** Constante que representa la herramienta de goma. */ public final static byte GOMA = 5; // Variable que representa la herramienta en uso. private byte herramientaEnUso; // Array para las herramientas. private Herramienta herramienta []; /** Constructor. Inicializa las herramientas, y pone el lápiz como la que está en uso. */ public ColeccionHerramientas () { herramienta = new Herramienta [TOTAL_HERRAMIENTAS]; for (byte i = 0; i < TOTAL_HERRAMIENTAS; i++) herramienta [i] = new Herramienta (i); herramientaEnUso = 0; } /** Devuelve la herramienta actualmente seleccionada para pintar en los lienzos. @return Herramienta Herramienta en uso. */ public Herramienta getHerramientaEnUso () { return herramienta [herramientaEnUso]; } /** Establece la herramienta para pintar en los lienzos. @param nuevaHerramientaEnUso byte Índice de la herramienta que servirá para pintar. */ public void setHerramientaEnUso (byte nuevaHerramientaEnUso) { herramientaEnUso = nuevaHerramientaEnUso; } /** Devuelve el icono que representa una herramienta. @param nuevaHerramienta byte Índice de la herramienta cuyo icono queremos. @return ImageIcon Icono que representa la herramienta especificada. */ public ImageIcon getIcono (byte nuevaHerramienta) { return herramienta [nuevaHerramienta].getIcono (); } } Clase Herramienta package pintallop; import java.lang.*; import java.awt.*; import javax.swing.*; /** Clase que representa una de las herramientas de dibujo de 'ColeccionHerramientas'. */ public class Herramienta { // Icono que representa la herramienta. private ImageIcon icono; // Tipo de la herramienta de dibujo; puede ser: // lápiz, goma, línea, rectángulo, óvalo, y texto. private byte tipo; // Variable para todas las herramientas menos la de texto; representa el grosor del trazo o el borde. private byte grueso; // Variable para el color del trazo, el borde, o el texto. private Color colorBorde; // Variable exclusiva de las herramientas rectángulo y óvalo. El color de relleno de la figura. private Color colorRelleno; // Variables exclusivas de la herramienta de texto. // La fuente utilizada, y el texto a escribir en el lienzo. private Font fuente; private String cadena; // Variables para pasar al constructor de 'Font': su nombre, tamaño, y estilo. private String nombreFuente; private int tamano; private int estilo; /** Constructor. Crea una herramienta del tipo especificado. Hay que utilizar una de las constantes de la clase 'ColeccionHerramientas': LAPIZ, LINEA, RECTANGULO, OVALO, TEXTO, o GOMA. @param nuevoTipo byte Tipo de la herramienta creada. */ public Herramienta (byte nuevoTipo) { // Inicializamos todas las variables con valores por defecto. tipo = nuevoTipo; icono = PintaLlop.getIcono ("herramienta" + tipo + ".gif"); grueso = 2; colorBorde = Color.black; colorRelleno = Color.white; cadena = ""; nombreFuente = "SansSerif"; tamano = 24; estilo = Font.PLAIN; refrescaFuente (); } /** Devuelve el tipo de herramienta. @return byte El tipo de la herramienta. */ public byte getTipo () { return tipo; } /** Devuelve el icono que representa la herramienta. @return ImageIcon Icono de la herramienta. */ public ImageIcon getIcono () { return icono; } /** Establece el grueso del trazo de la herramienta. @param nuevoGrueso byte Nuevo grueso. */ public void setGrueso (byte nuevoGrueso) { // No permitimos gruesos inferiores a 2. if (nuevoGrueso < 2) return; grueso = nuevoGrueso; } /** Devuelve el grueso del trafo de esta herramienta. @return byte Grueso del trazo. */ public byte getGrueso () { return grueso; } /** Define el color del trazo, el borde, o el texto de la herramienta. @param nuevoColorBorde Color Nuevo color del trazo, el borde, o el texto. */ public void setColorBorde (Color nuevoColorBorde) { colorBorde = nuevoColorBorde; } /** Devuelve el color del trazo, el borde, o el texto de la herramienta. @return Color Color del trazo, el borde, o el texto de la herramiena. */ public Color getColorBorde () { return colorBorde; } /** Define el color del relleno de la figura que dibuja de la herramienta. @param nuevoColorRelleno Color Color de relleno de la figura. */ public void setColorRelleno (Color nuevoColorRelleno) { colorRelleno = nuevoColorRelleno; } /** Devuelve el color del relleno de la figura que dibuja de la herramienta. @return Color Nuevo color de relleno de la figura. */ public Color getColorRelleno () { return colorRelleno; } /** Define el tamaño de la fuente de esta herramienta. @param nuevoTamano int Nuevo tamaño para la fuente. */ public void setTamano (int nuevoTamano) { if (nuevoTamano < 1) return; tamano = nuevoTamano; // Refrescar la variable 'fuente'. refrescaFuente (); } /** Devuelve el tamaño de la fuente de esta herramienta. @return int Tamaño de la fuente. */ public int getTamano () { return tamano; } /** Define el estilo del texto que dibuja de esta herramienta. Se utilizan las constantes de la clase 'Font': PLAIN, BOLD, o ITALIC. @param nuevoEstilo int Nuevo estilo de la fuente. */ public void setEstilo (int nuevoEstilo) { estilo = nuevoEstilo; // Refrescar la variable 'fuente'. refrescaFuente (); } /** Devuelve el estilo del texto que dibuja esta herramienta. @return int Estilo del texto. */ public int getEstilo () { return estilo; } /** Define la cadena de texto que pintará esta herramienta. @param nuevaCadena String Texto a escribir. */ public void setCadena (String nuevaCadena) { cadena = nuevaCadena; } /** Devuelve la cadena de texto que escribirá esta herramienta. @return String Texto que se escribirá. */ public String getCadena () { return cadena; } /** Define el nombre de la fuente. @param nuevoNombreFuente String Nuevo nombre de la fuente. */ public void setNombreFuente (String nuevoNombreFuente) { nombreFuente = nuevoNombreFuente; // Refrescar la variable 'fuente'. refrescaFuente (); } /** Devuelve el nombre de la fuente. @return String El nombre de la fuente. */ public String getNombreFuente () { return nombreFuente; } /** Devuelve la fuente que utiliza la herramienta. @return Font La fuente de la herramienta. */ public Font getFuente () { return fuente; } /** Establece la fuente utilizando las variables de clase. */ private void refrescaFuente () { fuente = new Font (nombreFuente, estilo, tamano); } }
¿Comentarios, sugerencias?: llopsite.at.yahoo.es | © 2005-07 Albert Lobo
Última actualización: 18-Feb-2007