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