Documentos de Académico
Documentos de Profesional
Documentos de Cultura
a) Define la interfaz de los objetos a los que se les pueden añadir responsabilidades
dinámicamente
b) Define el interfaz de la clase que decora gráficamente a otros objetos.
c) Almacena una referencia a un objeto y define una interfaz que se ajusta a la del
mismo
6. Casi todos los elementos gráficos de Java heredan de la clase JComponent. Cuando
se dibuja un JComponent se puede dibujar un borde alrededor del componente,
invocando a su método paintBorder. La manera “equivocada” de implementar este
método sería la siguiente:
protected void paintBorder(Graphics g) {
switch(getBorderType()) {
case LINE_BORDER: paintLineBorder(g);
break;
case ETCHED_BORDER: paintEtchedBorder(g);
break;
case TITLED_BORDER: paintTitledBorder(g);
break;
...
}
}
En cambio, la clase JComponent delega en la clase Border para pintar dicho borde.
protected void paintBorder(Graphics g) {
Border border = getBorder();
if (border != null) {
border.paintBorder(this, g, 0, 0, getWidth(), getHeight());
}
}
Hay distintas implementaciones de la clase Border. Incluso, podemos crear nuestros
propios tipos de bordes. Los distintos tipos de bordes se pueden ver en la siguiente
figura: