TLlop - Clon del Tetris
Llop Site Home > JAVA > TLlop > Clases que sólo personalizan componentes
Clases que sólo personalizan componentes:
Clase Boton
package ejercicio_5; import java.awt.*; import javax.swing.*; import javax.swing.border.*; /** Título: TLlop Descripción: Prácticas capítulo 11, ejercicio 5 Copyright: Copyright (c) 2005 Empresa: Casa_Llop @author Albert_Lobo @version 1.5 */ /** Clase que extiende 'JButton' para personalizar un poco su aspecto. */ public class Boton extends JButton { /** Constructor sin argumentos. */ public Boton () { super (); /** Se pone el color de fondo, el del texto, la fuente, y un pequeño márgen. */ setBackground (Color.white); setForeground (Color.blue); setFont (new Font ("Showcard Gothic", Font.BOLD, 18)); setBorder (new EmptyBorder (5, 5, 5, 5)); } /** Constructor que, tras una llamada al constructor por defecto, añade una acción a este botón. @param accion Action : Nueva acción para el botón. */ public Boton (Action accion) { this (); setAction (accion); } /** Función sobrecargada para pintar el borde del botón. @param graficos Graphics : Contexto 'Graphics' sobre el que pintar. */ public void paintBorder (Graphics graficos) { graficos.setColor (Color.blue); graficos.drawRoundRect (0, 0, getSize ().width - 1, getSize ().height - 2, 40, 40); graficos.drawRoundRect (15, 15, getSize ().width - 25, getSize ().height - 25, 20, 20); } }
Clase Botoncillo
package ejercicio_5; import java.lang.*; import java.awt.*; import javax.swing.*; /** Clase que extiende 'JToggleButton' para personalizar un poco su aspecto. */ public class Botoncillo extends JToggleButton { /** Constructor con argumento. Crea un botón seleccionable llamando al constructor sin argumentos, y le pone texto. @param texto String : Nuevo texto para el botón. */ public Botoncillo (String texto) { this (); setText (texto); } /** Constructor sin argumentos. */ public Botoncillo () { super (); /** Se pone el color de fondo, el del texto, y la fuente. */ setBackground (Color.white); setForeground (Color.blue); setFont (new Font ("Showcard Gothic", Font.BOLD, 18)); } /** Función sobrecargada para pintar el borde del botón. @param graficos Graphics : Contexto 'Graphics' sobre el que pintar. */ public void paintBorder (Graphics graficos) { graficos.setColor (Color.blue); graficos.drawRoundRect (5, 5, getSize ().width - 11, getSize ().height - 11, 20, 20); graficos.drawRoundRect (10, 10, getSize ().width - 21, getSize ().height - 21, 20, 20); } }
Clase BotoncilloIcono
package ejercicio_5; import java.awt.*; import javax.swing.*; /** Clase que extiende 'JButton' para personalizar un poco su aspecto. */ public class BotoncilloIcono extends JButton { /** Constructor. */ public BotoncilloIcono () { super (); /** El fondo será de color blanco, y habrá un pequeño borde a los lados. */ setBackground (Color.white); setBorder (BorderFactory.createEmptyBorder (0, 10, 0, 10)); } }
Clase BotonIcono
package ejercicio_5; import java.awt.*; import javax.swing.*; import javax.swing.border.*; /** Clase que extiende 'JToggleButton' para personalizar un poco su aspecto. */ public class BotonIcono extends JToggleButton { /** Constructor que define el icono y el estado de selección del botón. @param icono ImageIcon : Icono que muestra el botón. @param seleccionado boolean : Estado de selección del botón. */ public BotonIcono (ImageIcon icono, boolean seleccionado) { super (icono, seleccionado); setBackground (Color.white); // El fondo será blanco. setBorder (new EmptyBorder (0, 0, 0, 0)); } /** Función sobrecargada para pintar el borde del botón. @param graficos Graphics : Contexto 'Graphics' sobre el que pintar. */ public void paintBorder (Graphics graficos) { graficos.setColor (Color.black); graficos.drawRoundRect (5, 5, getSize ().width - 11, getSize ().height - 11, 20, 20); graficos.setColor (Color.blue); graficos.drawRoundRect (20, 20, getSize ().width - 41, getSize ().height - 41, 40, 40); } }
Clase Etiqueta
package ejercicio_5; import java.lang.*; import java.awt.*; import javax.swing.*; import javax.swing.border.*; /** Clase que extiende 'JLabel' para personalizar un poco su aspecto. */ public class Etiqueta extends JLabel { // La única variable de clase es un borde con título. private TitledBorder bordeTitulo; /** Constructor. Inicializa una 'JLabel', le pone un número como texto, y pone también texto a su borde titulado. @param titulo String : Cadena con el texto del borde titulado. @param valor long : Valor cuya representación en 'String' definirá el texto de la etiqueta. */ public Etiqueta (String titulo, long valor) { super (String.valueOf (valor), JLabel.RIGHT); /** El título tan solo mostrará el texto, que será de color azul, y con letras 'Showcard Gothic'. */ bordeTitulo = new TitledBorder (new EmptyBorder (0, 0, 0, 0), titulo); bordeTitulo.setTitleColor (Color.blue); bordeTitulo.setTitleFont (new Font ("Showcard Gothic", Font.BOLD, 14)); /** Se pone a la etiqueta el borde, la fuente, y el color de la fuente. */ setBorder (bordeTitulo); setFont (new Font ("Showcard Gothic", Font.ITALIC, 18)); setForeground (Color.blue); } /** Función sobrecargada para pintar el borde de la etiqueta. @param graficos Graphics : Contexto 'Graphics' sobre el que pintar. */ public void paintBorder (Graphics graficos) { super.paintBorder (graficos); graficos.setColor (Color.blue); graficos.drawRoundRect (2, 2, getSize ().width - 5, getSize ().height - 5, 40, 40); graficos.drawRoundRect (25, 25, getSize ().width - 41, getSize ().height - 41, 20, 20); } }
Clase EtiquetaOpciones
package ejercicio_5; import java.awt.*; import javax.swing.*; /** Clase que extiende 'JLabel' para personalizar un poco su aspecto. */ public class EtiquetaOpciones extends JLabel { /** Constructor con un argumento. Crea la 'JLabel', y le pone texto. @param texto String : Cadena con el texto que se mostrará en la etiqueta. */ public EtiquetaOpciones (String texto) { this (); setText (texto); } /** Constructor por defecto. */ public EtiquetaOpciones () { super (); /** Se le pone un tanaño fijo, el color y la alineación del texto, y la fuente. */ setPreferredSize (new Dimension (30, 25)); setForeground (Color.blue); setHorizontalAlignment (JLabel.CENTER); setFont (new Font ("Showcard Gothic", Font.BOLD, 16)); } }
Clase PanelTitulado
package ejercicio_5; import java.lang.*; import java.awt.*; import javax.swing.*; import javax.swing.border.*; /** Clase que extiende 'JPanel' para personalizar un poco su aspecto. */ public class PanelTitulado extends JPanel { // Su única variable es un borde con título. private TitledBorder bordeTitulo; /** Constructor. Define el texto en el borde. @param titulo String : Cadena con el texto que se llevará el título del borde del panel. */ public PanelTitulado (String titulo) { super (); /** Inicializa el borde titulado con el texto pasado al constructor como argumento. Además, las letras serán de color azul, y de la fuente 'Showcard Gothic'. */ bordeTitulo = new TitledBorder (new EmptyBorder (0, 0, 0, 0), titulo); bordeTitulo.setTitleColor (Color.blue); bordeTitulo.setTitleFont (new Font ("Showcard Gothic", Font.BOLD, 20)); /** El fondo del panel, blanco; las letras, azules; y como borde, el 'bordeTitulo' más uno vacío. */ setBackground (Color.white); setForeground (Color.blue); setBorder (new CompoundBorder (new EmptyBorder (5, 5, 5, 5), bordeTitulo)); } /** Función sobrecargada para pintar el borde del botón. @param graficos Graphics : Contexto 'Graphics' sobre el que pintar. */ public void paintBorder (Graphics graficos) { super.paintBorder (graficos); graficos.setColor (Color.blue); graficos.drawRoundRect (0, 0, getSize ().width - 1, getSize ().height - 1, 40, 40); graficos.drawRoundRect (10, 15, getSize ().width - 20, getSize ().height - 25, 20, 20); } }
¿Comentarios, sugerencias?: llopsite.at.yahoo.es | © 2005-07 Albert Lobo
Última actualización: 18-Feb-2007