Swing com JTabbedPane - uma das abas tem o conteúdo inativo (botões, txts etc)[RESOLVIDO]

5 respostas
xcah

Olá!

Estou começando a mexer com Swing, estava usando pelo Netbeans para gerar o código (para simplificar), e vou editando-o no Eclipse (o que funciona conforme o que eu quero, pois estou mais familiarizada com o Eclipse), porém ao rodar as duas abas que eu tenho (Visualizar e Adicionar), a aba Visualizar que contém uma tabela está certa, e a aba Adicionar tem dois Panels, que contém vários textfields e botões tem esses componentes todos como se estivessem “desabilitados”, ou seja, não consigo nem colocar o cursor nos textfields, nem o botão quando passa o mouse dá aquele efeito, nem nada, nem mesmo um combobox também… o que acontece? Como posso resolver? Andei dando uma olhada no código mas não vi nada que pudesse gerar isso… e também gostaria de saber como fazer pra quando abrir a janela ela abrir no tamanho que eu quero, pois tenho que redimensioná-la para poder visualizar o programa…

Grata!

Só constando, o código…

package Flex;

import java.sql.SQLException;
import javax.swing.table.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * NewJPanel.java
 *
 * Created on 25/04/2011, 08:01:56
 */

/**
 *
 * @author carina_001175
 */
public class Agenda_panel extends javax.swing.JPanel {

	String colunas[];
	Object array[][];
	               
    /** Creates new form NewJPanel 
     * @throws SQLException */
    public Agenda_panel() throws SQLException {
        initComponents();
    }
    
    private void dadostbl() throws SQLException
    {
    	Flex.cnc();
    	
    	int i, j =Flex.contaPessoa();
    	array = new Object[j][3];
    	                              
    	for (i=0;i<j;i++)
    	{
    		Flex.ret();
    		array[i][0] = Flex.retnome();
    		array[i][1] = Flex.retdpto();
    		array[i][2] = Flex.rettel();
    		
    	}
    	
    	colunas = new String []
    	                               {
    						"Nome", "Departamento","Telefone"
    	                               };
    	                               
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     * @throws SQLException 
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() throws SQLException {

    	dadostbl();
	
    	
        jPanel1 = new javax.swing.JPanel();
        lblTitulo = new javax.swing.JLabel();
        grouptab = new javax.swing.JTabbedPane();
        tabVisualizar = new java.awt.Panel();
        jScrollPane1 = new javax.swing.JScrollPane();
        DefaultTableModel modelo = new DefaultTableModel(array,colunas);
        gridAgenda = new javax.swing.JTable(modelo);
        tabEditar = new java.awt.Panel();
        btnAdcReg = new javax.swing.JButton();
        pnlAdcContato = new java.awt.Panel();
        lblAdcContato = new javax.swing.JLabel();
        lblAdcNome = new javax.swing.JLabel();
        lblAdcDepto_Contato = new javax.swing.JLabel();
        lblAdcTelefone = new javax.swing.JLabel();
        txtNome = new javax.swing.JTextField();
        txtTelefone = new javax.swing.JTextField();
        cbDepto_adcContato = new javax.swing.JComboBox();
        btnOk_AdcContato = new javax.swing.JButton();
        pnlAdcDepto = new java.awt.Panel();
        lblAdcDepto = new javax.swing.JLabel();
        lblAdcResponsavel = new javax.swing.JLabel();
        lblAdcDepto_Depto = new javax.swing.JLabel();
        txtResponsavel = new javax.swing.JTextField();
        btnOk_AdcDepto = new javax.swing.JButton();
        txtDepartamento_AdcDepto = new javax.swing.JTextField();

        jPanel1.setBackground(new java.awt.Color(249, 249, 249));
        

        lblTitulo.setFont(new java.awt.Font("Candara", 1, 20)); // NOI18N
        lblTitulo.setForeground(new java.awt.Color(0, 0, 102));
        lblTitulo.setText("Agenda");
        lblTitulo.setName("lblTitulo"); // NOI18N

        grouptab.setName("tabgroup"); // NOI18N

        tabVisualizar.setName("tabVisualizar"); // NOI18N

        gridAgenda.setName("gridAgenda"); // NOI18N
        jScrollPane1.setViewportView(gridAgenda);

        javax.swing.GroupLayout tabVisualizarLayout = new javax.swing.GroupLayout(tabVisualizar);
        tabVisualizar.setLayout(tabVisualizarLayout);
        tabVisualizarLayout.setHorizontalGroup(
            tabVisualizarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabVisualizarLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(tabVisualizarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabVisualizarLayout.createSequentialGroup()
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 336, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabVisualizarLayout.createSequentialGroup()
                        .addGap(20, 20, 20))))
        );
        tabVisualizarLayout.setVerticalGroup(
            tabVisualizarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabVisualizarLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 342, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addContainerGap())
        );

        tabEditar.setName("tabEditar"); // NOI18N

        btnAdcReg.setText("Adicionar registro");
        btnAdcReg.setName("btnAdcReg"); // NOI18N

        pnlAdcContato.setBackground(new java.awt.Color(249, 249, 249));
        pnlAdcContato.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        pnlAdcContato.setEnabled(false);
        pnlAdcContato.setName("pnlAdcContato"); // NOI18N

        lblAdcContato.setText("Adicionar contato");
        lblAdcContato.setName("lblAdcContato"); // NOI18N

        lblAdcNome.setText("Nome:");
        lblAdcNome.setName("lblNome"); // NOI18N

        lblAdcDepto_Contato.setText("Departamento:");
        lblAdcDepto_Contato.setName("lblDepto"); // NOI18N

        lblAdcTelefone.setText("Telefone:");
        lblAdcTelefone.setName("lblDepto"); // NOI18N

        txtNome.setName("txtNome"); // NOI18N

        txtTelefone.setName("txtTelefone"); // NOI18N

        cbDepto_adcContato.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

        btnOk_AdcContato.setText("Ok");

        javax.swing.GroupLayout pnlAdcContatoLayout = new javax.swing.GroupLayout(pnlAdcContato);
        pnlAdcContato.setLayout(pnlAdcContatoLayout);
        pnlAdcContatoLayout.setHorizontalGroup(
            pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlAdcContatoLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblAdcContato)
                .addContainerGap())
            .addGroup(pnlAdcContatoLayout.createSequentialGroup()
                .addGap(20, 20, 20)
                .addGroup(pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnlAdcContatoLayout.createSequentialGroup()
                        .addGroup(pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblAdcDepto_Contato)
                            .addComponent(lblAdcTelefone)
                            .addComponent(lblAdcNome))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtNome, javax.swing.GroupLayout.DEFAULT_SIZE, 179, Short.MAX_VALUE)
                            .addComponent(txtTelefone, javax.swing.GroupLayout.DEFAULT_SIZE, 179, Short.MAX_VALUE)
                            .addComponent(cbDepto_adcContato, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(btnOk_AdcContato, javax.swing.GroupLayout.Alignment.TRAILING))
                .addGap(150, 150, 150))
        );
        pnlAdcContatoLayout.setVerticalGroup(
            pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlAdcContatoLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblAdcContato)
                .addGap(18, 18, 18)
                .addGroup(pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lblAdcNome)
                    .addComponent(txtNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lblAdcDepto_Contato)
                    .addComponent(cbDepto_adcContato, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnlAdcContatoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lblAdcTelefone)
                    .addComponent(txtTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(btnOk_AdcContato)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pnlAdcDepto.setBackground(new java.awt.Color(249, 249, 249));
        pnlAdcDepto.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        pnlAdcDepto.setEnabled(false);
        pnlAdcDepto.setName("pnlAdcDepto"); // NOI18N

        lblAdcDepto.setText("Adicionar departamento");

        lblAdcResponsavel.setText("Responsável:");
        lblAdcResponsavel.setName("lblNome"); // NOI18N

        lblAdcDepto_Depto.setText("Departamento:");
        lblAdcDepto_Depto.setName("lblDepto"); // NOI18N

        txtResponsavel.setName("txtNome"); // NOI18N

        btnOk_AdcDepto.setText("Ok");
        btnOk_AdcDepto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                try {
					btnOk_AdcDeptoActionPerformed(evt);
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
            }
        });

        txtDepartamento_AdcDepto.setName("txtNome"); // NOI18N

        javax.swing.GroupLayout pnlAdcDeptoLayout = new javax.swing.GroupLayout(pnlAdcDepto);
        pnlAdcDepto.setLayout(pnlAdcDeptoLayout);
        pnlAdcDeptoLayout.setHorizontalGroup(
            pnlAdcDeptoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlAdcDeptoLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblAdcDepto)
                .addContainerGap(211, Short.MAX_VALUE))
            .addGroup(pnlAdcDeptoLayout.createSequentialGroup()
                .addGap(18, 18, 18)
                .addGroup(pnlAdcDeptoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(btnOk_AdcDepto)
                    .addGroup(pnlAdcDeptoLayout.createSequentialGroup()
                        .addGroup(pnlAdcDeptoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblAdcDepto_Depto)
                            .addComponent(lblAdcResponsavel))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(pnlAdcDeptoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(txtResponsavel)
                            .addComponent(txtDepartamento_AdcDepto, javax.swing.GroupLayout.DEFAULT_SIZE, 182, Short.MAX_VALUE))))
                .addContainerGap(53, Short.MAX_VALUE))
        );
        pnlAdcDeptoLayout.setVerticalGroup(
            pnlAdcDeptoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlAdcDeptoLayout.createSequentialGroup()
                .addContainerGap(27, Short.MAX_VALUE)
                .addComponent(lblAdcDepto)
                .addGap(24, 24, 24)
                .addGroup(pnlAdcDeptoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblAdcDepto_Depto)
                    .addComponent(txtDepartamento_AdcDepto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(pnlAdcDeptoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblAdcResponsavel)
                    .addComponent(txtResponsavel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addComponent(btnOk_AdcDepto))
        );

        javax.swing.GroupLayout tabEditarLayout = new javax.swing.GroupLayout(tabEditar);
        tabEditar.setLayout(tabEditarLayout);
        tabEditarLayout.setHorizontalGroup(
            tabEditarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabEditarLayout.createSequentialGroup()
                .addGroup(tabEditarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabEditarLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(pnlAdcDepto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabEditarLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(pnlAdcContato, javax.swing.GroupLayout.DEFAULT_SIZE, 336, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabEditarLayout.createSequentialGroup()
                        .addGap(23, 23, 23)
                        .addComponent(btnAdcReg)))
                .addContainerGap())
        );
        tabEditarLayout.setVerticalGroup(
            tabEditarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabEditarLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnAdcReg)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnlAdcContato, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnlAdcDepto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(20, Short.MAX_VALUE))
        );
        
        grouptab.addTab("Visualizar", tabVisualizar);
        grouptab.addTab("Adicionar", tabEditar);
        
        
        
        
        
        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(grouptab, javax.swing.GroupLayout.PREFERRED_SIZE, 361, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblTitulo, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(lblTitulo, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(grouptab, javax.swing.GroupLayout.PREFERRED_SIZE, 421, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(63, 63, 63))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 469, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
    }// </editor-fold>

    
    private void btnOk_AdcDeptoActionPerformed(java.awt.event.ActionEvent evt) throws SQLException {
        // TODO add your handling code here:
    	String depto = txtDepartamento_AdcDepto.toString();
    	String resp = txtResponsavel.toString();
    	
    	Flex.cnc();
    	Flex.insDepartamento(depto, resp);
    	
    	String msg = Flex.message();
    	if (msg!="")
    	{	alerta a = new alerta();
    		a.lbl = msg;
    		a.initComponents();
       	}
    	
    	Flex.clnMessage();
    	Flex.fechacon();
    	    	
    }
    
    

    // Variables declaration - do not modify
    private javax.swing.JButton btnAdcReg;
    private javax.swing.JButton btnOk_AdcContato;
    private javax.swing.JButton btnOk_AdcDepto;
    private javax.swing.JComboBox cbDepto_adcContato;
    private javax.swing.JTable gridAgenda;
    private javax.swing.JTabbedPane grouptab;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel lblAdcContato;
    private javax.swing.JLabel lblAdcDepto;
    private javax.swing.JLabel lblAdcDepto_Contato;
    private javax.swing.JLabel lblAdcDepto_Depto;
    private javax.swing.JLabel lblAdcNome;
    private javax.swing.JLabel lblAdcResponsavel;
    private javax.swing.JLabel lblAdcTelefone;
    private javax.swing.JLabel lblTitulo;
    private java.awt.Panel pnlAdcContato;
    private java.awt.Panel pnlAdcDepto;
    private java.awt.Panel tabEditar;
    private java.awt.Panel tabVisualizar;
    private javax.swing.JTextField txtDepartamento_AdcDepto;
    private javax.swing.JTextField txtNome;
    private javax.swing.JTextField txtResponsavel;
    private javax.swing.JTextField txtTelefone;
    // End of variables declaration

}

5 Respostas

xcah

Só constando, resolvido o problema em relação a habilitar os campos, os tirei dos painéis que estavam, achei estranho mas resolveu…

Agora queria saber como fazer pra abrir no tamanho que eu quero, ele abre numa janelinha pequenina que nem aparece nada, e é necessário redimensioná-la… queria que abrisse no tamanho ajustado à aplicação direto… se alguém puder ajudar, agradeço!

ViniGodoy

Como vc está fazendo para criar o JFrame, JDialog ou JInternalFrame que contém esse painel?
É ele que vai ter a propriedade do tamanho.

xcah

Ah, na verdade eu só tinha esse painel… No caso então de eu criar um JFrame, teria que chamar esse painel já criado nele?
Esse JFrame então é como uma janela que é aberta certo? Não sei direito como funciona… (desculpe, estou meio que começando a mexer com componentes visuais do java agora xP)
Se você tiver algum exemplinho simples agradeço!

ViniGodoy

É isso mesmo. Veja um exemplo simples:

public class Teste { public static void main(String[] args) { JFrame frame = new JFrame("Agenda"); frame.setLayout(new BorderLayout()); frame.setSize(800,600); frame.setLocationRelativeTo(null). frame.add(new Agenda_panel(), BorderLayout.CENTER); frame.setVisible(true); } }

xcah

Ah ok, consegui! ^^

Muito obrigada!

Criado 25 de abril de 2011
Ultima resposta 25 de abr. de 2011
Respostas 5
Participantes 2