Como adicionar componentes no JPanel de um JTabbedPane[RESOLVIDO]

4 respostas
ThiagoHonorato

Olá Pessoal!

Estou desenvolvendo uma página de cadastro de cliente e estou com problema ao adicionar um JTextField no JPanel que está dentro de um JTabbedPane, o campo não aparece com as configurações que coloquei.

Aqui está o código:

public JFrameNovoTeste() {
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setBounds(0,0,900,700);
        setLocationRelativeTo(null);
        setTitle("Cadastro de Cliente");
        
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5,5,5,5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
        
        JLabel jLabel1 = new JLabel("ID Cliente");
        jLabel1.setFont(new Font("Tohama", Font.PLAIN, 14));
        jLabel1.setBounds(40, 40, 150, 25);
        contentPane.add(jLabel1);
        
        JTextField identidade = new JTextField();
        identidade.setFont(new Font("Tohama", Font.PLAIN, 14));
        identidade.setBounds(180, 40, 100, 25);
        contentPane.add(identidade);
        
        JLabel jLabel2 = new JLabel("Nome do Cliente");
        jLabel2.setFont(new Font("Tohama", Font.PLAIN, 14));
        jLabel2.setBounds(40, 65, 150, 25);
        contentPane.add(jLabel2);
        
        JTextField idnomentidade = new JTextField();
        idnomentidade.setFont(new Font("Tohama", Font.PLAIN, 14));
        idnomentidade.setBounds(180, 65, 670, 25);
        contentPane.add(idnomentidade);
        
        JTabbedPane jTabbedPane1 = new JTabbedPane();
        jTabbedPane1.setBounds(40, 110, 810, 300);
        contentPane.add(jTabbedPane1);

//ABA PRINCIPAL ========================================================================================
        
        JPanel jPanel1 = new JPanel(); jTabbedPane1.addTab("Principal", jPanel1);
        
        JTextField dtnasc = new JTextField();
        dtnasc.setBounds(40, 180, 100, 25);
        jPanel1.add(dtnasc);
        
//ABA DOCUMENTO ========================================================================================

        JPanel jPanel2 = new JPanel(); jTabbedPane1.addTab("Documentos", jPanel2);
        
//ABA ENDERECO =========================================================================================

        JPanel jPanel3 = new JPanel(); jTabbedPane1.addTab("Endereço", jPanel3);
        
    }

Quando eu coloco:

//ABA PRINCIPAL ========================================================================================
        
        JPanel jPanel1 = new JPanel(); jTabbedPane1.addTab("Principal", jPanel1);
        
        JTextField dtnasc = new JTextField();
        dtnasc.setBounds(40, 180, 100, 25);
        jPanel1.add(dtnasc); // O campo não aparece

Mas quando eu coloco:

//ABA PRINCIPAL ========================================================================================
        
        JPanel jPanel1 = new JPanel(); jTabbedPane1.addTab("Principal", jPanel1);
        
        JTextField dtnasc = new JTextField();
        dtnasc.setBounds(40, 180, 100, 25);
        add(dtnasc); // O campo aparece, mas não consigo colocar o foco ao clicar, só consigo chegar no campo atravez do 'TAB'

Se alguém poder me ajudar ficarei muito grato.

Obrigado!!!

4 Respostas

U

ThiagoHonorato não estou entendendo quem está adicionando quem.

Você tem um JTextField, JPanel e JTabbedPane. Me explica como vc está adicionando eles.


<Correção>
Acho que entendi.
Só um instante.

ThiagoHonorato

Primeiro eu instancio um JTabbedPane:

JTabbedPane jTabbedPane1 = new JTabbedPane(); jTabbedPane1.setBounds(40, 110, 810, 300); contentPane.add(jTabbedPane1);
Depois instancio um JPanel e coloco dentro do JTabbedPane:

Em seguida, intancio um JTextField e coloco dentro do JPanel:

JTextField dtnasc = new JTextField(); dtnasc.setBounds(40, 180, 100, 25); jPanel1.add(dtnasc);
Até o segundo passo, beleza, dá tudo certo, mas quando vou adicionar o JTextField dentro do JPanel ele não aparece.
Essa foi a maneira que descobrir de fazer, caso você saiba outra maneira, tudo bem.

Vlw!

U

ThiagoHonorato para resolver isto basta apenas setar o layout do JPanel como null.

jPanel1.setLayout(null);

ai vc visualiza tranquilamente.

ThiagoHonorato

Cara, muito obrigado!!!

Setando o leyout, consegui visualizar o TextField normalmante.

Deus te abençoe!

Vlw

Criado 22 de abril de 2013
Ultima resposta 22 de abr. de 2013
Respostas 4
Participantes 2