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)