Classes e JTabbedPane

Bom dia gurizada, seguinte procurei por aqui e não achei, então me desculpem se já tem algo relacionado, então, queria saber se é possivel em cada aba de um JTabbedPane trabalhar com classes diferentes, tipo, aba 0 menu principal, aba 1 clientes, aba 3 usuarios…
Desde já obrigado!

É. Basta ter, para cada aba do JTabbedPane, um JPanel diferente.

muito o obrigado, e como faço para chamar a classe dentro do JPanel?

A sua “classe diferente” deve herdar de JPanel. Portanto, ela “já está lá”; ela não “é chamada”.

Tchê, desculpa sou iniciante, assim, tenho um jframe principal, nele quero colocar um painel tabulado, e em cada aba quero que corresponda a uma classe diferente, por exemplo, clientes, usuarios…

como eu faria para implementar isto?
obrigado!

Vou dar um exemplo bem bobo, extremamente simplificado. Espero que você seja suficientemente esperto para entendê-lo.

De qualquer forma, sempre comece pelo começo, que é o Java Tutorial ( http://download.oracle.com/javase/tutorial/uiswing/index.html ).
Se tiver dificuldade com o inglês, use o Google Translator ( http://translate.google.com ) ou o Bing Translator ( http://www.microsofttranslator.com/ )

O exemplo abaixo tem um JFrame que tem um JTabbedPane que inclui 2 classes diferentes derivadas de JPanel. Obviamente esse programa bem simples serve apenas para você se inspirar.

package guj.tbp;

import javax.swing.SwingUtilities;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import java.awt.GridBagLayout;
import javax.swing.JLabel;
import javax.swing.JButton;

public class ExemploTabbedPaneJFrame extends JFrame {

    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JTabbedPane tbpPrincipal = null;
    private ClientesJPanel pnlClientes = null;
    private UsuariosJPanel pnlUsuarios = null;

    /**
     * This method initializes tbpPrincipal
     * 
     * @return javax.swing.JTabbedPane
     */
    private JTabbedPane getTbpPrincipal() {
        if (tbpPrincipal == null) {
            tbpPrincipal = new JTabbedPane();
            tbpPrincipal.addTab("Clientes", null, getPnlClientes(), null);
            tbpPrincipal.addTab("Usuários", null, getPnlUsuarios(), null);
        }
        return tbpPrincipal;
    }

    /**
     * This method initializes pnlClientes
     * 
     * @return javax.swing.JPanel
     */
    private ClientesJPanel getPnlClientes() {
        if (pnlClientes == null) {
            pnlClientes = new ClientesJPanel();
        }
        return pnlClientes;
    }

    /**
     * This method initializes pnlUsuarios
     * 
     * @return javax.swing.JPanel
     */
    private UsuariosJPanel getPnlUsuarios() {
        if (pnlUsuarios == null) {
            pnlUsuarios = new UsuariosJPanel();
        }
        return pnlUsuarios;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                ExemploTabbedPaneJFrame thisClass = new ExemploTabbedPaneJFrame();
                thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                thisClass.setVisible(true);
            }
        });
    }

    /**
     * This is the default constructor
     */
    public ExemploTabbedPaneJFrame() {
        super();
        initialize();
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize() {
        this.setSize(300, 200);
        this.setContentPane(getJContentPane());
        this.setTitle("Exemplo de JTabbedPane");
    }

    /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane() {
        if (jContentPane == null) {
            jContentPane = new JPanel();
            jContentPane.setLayout(new BorderLayout());
            jContentPane.add(getTbpPrincipal(), BorderLayout.CENTER);
        }
        return jContentPane;
    }

}
package guj.tbp;

import java.awt.BorderLayout;

import javax.swing.JLabel;
import javax.swing.JPanel;

public class ClientesJPanel extends JPanel {

    private static final long serialVersionUID = 1L;
    private JLabel lblClientes = null;

    /**
     * This is the default constructor
     */
    public ClientesJPanel() {
        super();
        initialize();
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize() {
        lblClientes = new JLabel();
        lblClientes.setText("Clientes");
        this.setLayout(new BorderLayout());
        this.add(lblClientes, BorderLayout.CENTER);
    }

}
package guj.tbp;

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JPanel;

public class UsuariosJPanel extends JPanel {

    private static final long serialVersionUID = 1L;
    private JButton btnUsuarios = null;

    /**
     * This is the default constructor
     */
    public UsuariosJPanel() {
        super();
        initialize();
    }

    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize() {
        this.setLayout(new BorderLayout());
        this.add(getBtnUsuarios(), BorderLayout.SOUTH);
    }

    /**
     * This method initializes btnUsuarios
     * 
     * @return javax.swing.JButton
     */
    private JButton getBtnUsuarios() {
        if (btnUsuarios == null) {
            btnUsuarios = new JButton();
            btnUsuarios.setText("Usuários");
        }
        return btnUsuarios;
    }

}

Cara, em apostilas eu achei muito complicado pra conseguir entender esta funcionalidade… Você deu um exemplo prático perfeito. Obrigado!!