|
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. |
|