Esta aplicación demuestra como intercambiar el JPanel activo en un JFrame para crear el efecto de pestaña.

no es raro encontrarnos con la necesidad de modificar de forma dinámica el layout en un JFrame, y muchas veces nuestros componentes no responden como esperamos, en este ejemplo se muestran de forma simple los pequeños detalles que hacen la diferencia.

El grupo de usuarios de Java en Guatemala Guate-Jug, les hace la invitación para que asistan a la reunión número 15 del Jug y 2da del año, la misma se estará realizando el jueves 16 de febrero del 2012 en …

Reunión Guatejug #15 | Integración continua con Jenkins Leer más »

Este ejemplo demuestra como usar un JTabbedPane de forma basica, esto permite crear aplicaciones con pestañas en java utilizando swing

Codigo


import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextArea;

public class Main extends JFrame {
    public Main() {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
      
        this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        this.getContentPane().setLayout( new BorderLayout() );
        this.setSize( new Dimension(400, 300) );
        this.setTitle( "Test" );
      
        /* crear y agregar al formulario 
            aqui vamos a crear el JTabbedPane y tres JPanel que
            usaremos como pestañas */
      
        JTabbedPane tabPanel = new JTabbedPane();
      
        /* creamos un panel para cada pestaña */
      
        JPanel tabA = new JPanel();
        tabA.setPreferredSize( new Dimension(100,100) );
        tabA.setLayout( new BorderLayout() );
      
        JPanel tabB = new JPanel();
        tabB.setPreferredSize( new Dimension(100,100) );
        tabB.setLayout( new BorderLayout() );
      
        JPanel tabC = new JPanel();
        tabC.setPreferredSize( new Dimension(100,100) );
        tabC.setLayout( new BorderLayout() );
      
        /* ahora crear un boton, para la pestaña A */
        JButton botonTabA = new JButton("Boton");        
        tabA.add( botonTabA , BorderLayout.CENTER );
      
        /* un label para la pestaña B */
        JLabel labelTabB = new JLabel();
        labelTabB.setText("Label");
        tabB.add( labelTabB , BorderLayout.CENTER );
      
        /* un textarea para la pestaña C */
        JTextArea textTabC = new JTextArea();
        textTabC.setText("texto");
        tabC.add( textTabC , BorderLayout.CENTER );
      
        /* aqui se crean las pestañas a partir de los panels */
        tabPanel.addTab( "Tab A" , tabA );
        tabPanel.addTab( "Tab B" , tabB );
        tabPanel.addTab( "Tab C" , tabC );
      
        /* agregar al formulario el componente JTabbedPane */
      
        this.getContentPane().add( tabPanel , BorderLayout.CENTER );
      
    }
  
    public static void main(String[] args) {
        Main m = new Main();
        m.setVisible(true);
    }

}

Descargar Proyecto en JDeveloper 11g


ademas las pestañas pueden habilitarse/deshabilitarse con el método 
setEnabledAt de la clase jTabbedPane


http://download.oracle.com/javase/6/docs/api/javax/swing/JTabbedPane.html#setEnabledAt(int, boolean)

El grupo de usuarios de Java en Guatemala Guate-Jug, les hace la invitación para que asistan a la reunión número 14 y la primera de este año, la misma se estará realizando el jueves 26 de enero del 2012 en …

Reunión Guatejug #14 | Bitácoras con Log4j Leer más »