Tutorial de Java

Bordes

Anterior | Siguiente

La clase JComponent también contiene un método llamado setBorder(), que permite colocar diferentes bordes a un componente visible. El ejemplo java1402.java genera los diferentes tipos de borde que están disponibles y que se reproducen en la figura siguiente.

Para generar la ventana anterior, el código utiliza el método creaBorde() que crea un JPanel y le coloca un borde diferente en cada caso y, además, coloca el nombre del borde en medio del panel.

import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import com.sun.java.swing.border.*;

public class java1402 extends JPanel {
  
  static JPanel creaBorde( Border b ) {
    JPanel panel = new JPanel();
    String str = b.getClass().toString();
    
    str = str.substring( str.lastIndexOf('.') + 1 );
    panel.setLayout( new BorderLayout() );
    panel.add(new JLabel( str,JLabel.CENTER ),BorderLayout.CENTER );
    panel.setBorder( b );
    
    return( panel );
  }
  
  public java1402() {
    setLayout( new GridLayout( 2,4 ) );
    add( creaBorde( new TitledBorder("Titulo") ) );
    add( creaBorde( new EtchedBorder() ) );
    add( creaBorde( new LineBorder(Color.blue) ) );
    add( creaBorde( new MatteBorder(5,5,30,30,Color.green) ) );
    add( creaBorde( new BevelBorder(BevelBorder.RAISED) ) );
    add( creaBorde( new SoftBevelBorder(BevelBorder.LOWERED) ) );
    add(creaBorde(new CompoundBorder(
      new EtchedBorder(),new LineBorder(Color.red) ) ) );
  }
  
  public static void main( String args[] ) {
    JFrame frame = new JFrame( "Tutorial de Java, Swing" );
    frame.addWindowListener( new WindowAdapter() {
      public void windowClosing( WindowEvent evt ){
        System.exit( 0 );
      }
    });
    frame.getContentPane().add( new java1402(),BorderLayout.CENTER );
    frame.setSize( 500,300 );
    frame.setVisible( true );
    }
} 

Muchos de los ejemplos que se desarrollarán en este capítulo van a usar el TitledBorder, pero el resto de los bordes son igual de fáciles de utilizar. También es posible crear bordes propios y colocarlos dentro de botones, etiquetas, etc.; virtualmente en cualquier cosa que derive de JComponent.

Navegador

Home | Anterior | Siguiente | Indice | Correo