Problema em sincronizar JTextField e JTable no Netbeans

2 respostas
brunorota

Olá galera

Estou aprendendo a usar o netbeans, pequei um curso e estou seguindo ele

O cara ensinou a fazer um Formulário de Amostra Mestre Detalhe, o netbens gera uma tela de cadastro

Depois o cara explicou como faz passo a passo esse formúlario

Deu tudo “quase” tudo certo hehe

Porque nesse formulário que o netbeans gera quando você clica para adicionar um texto, enquanto você digita o texto no JTextFild vai aparecendo na coluna da tabela

E passo a passo agora o meu não aparece o texto na linha da tabela, mais salva no banco tudo certinho

Como eu faço essa vinculação pra enquanto eu digitar ir aparecendo na tabela?

Vou colocar as linhas que eu acho importante caso precise eu colo a classe inteira galera

private void initComponents() {
        bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

        entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("siscomjavaPU").createEntityManager();
        query = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT t FROM TipoPgto t");
        list = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(query.getResultList());

descricaoTipoPgtoField = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();

}

 private void inserirButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
        TipoPgto tp = new TipoPgto();
        entityManager.persist(tp);
        list.add(tp);
        int row = list.size()-1;
        masterTable.setRowSelectionInterval(row, row);
        masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true));
    }                                             

    private void excluirButtonActionPerformed(java.awt.event.ActionEvent evt) {                                              
        int[] selected = masterTable.getSelectedRows();
        List<TipoPgto> toRemove = new ArrayList<TipoPgto>(selected.length);
        for (int idx=0; idx<selected.length; idx++) {
            TipoPgto pt = list.get(masterTable.convertRowIndexToModel(selected[idx]));
            toRemove.add(pt);
            entityManager.remove(pt);
        }
        list.removeAll(toRemove);
    }                                             

    private void CancelarButtonActionPerformed(java.awt.event.ActionEvent evt) {                                               
        entityManager.getTransaction().rollback();
        entityManager.getTransaction().begin();
        java.util.Collection data = query.getResultList();
        for (Object entity : data) {
            entityManager.refresh(entity);
        }
        list.clear();
        list.addAll(data);
    }                                              

    private void salvarButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
        try {
            entityManager.getTransaction().commit();
            entityManager.getTransaction().begin();
        } catch (RollbackException rex) {
            rex.printStackTrace();
            entityManager.getTransaction().begin();
            List<TipoPgto> merged = new ArrayList<TipoPgto>(list.size());
            for (TipoPgto pt : list) {
                merged.add(entityManager.merge(pt));
            }
            list.clear();
            list.addAll(merged);
        }

Fucei no código mais pelo que eu percebi tá tudo igual a classe que o netbeans gera, devo ter passado algo em branco

Atenciosamente

2 Respostas

wpellegrini

Estou com o mesmo problema. Se voce conseguiu resolver me mostra como.

Outra duvida é os Forms em JPanel que criamos ele não centraliza na tela, eles aparecem no canto superior da area de trabalho. Como voce fez para centralizar?

abraços e fico no aguardo

falecomharri
public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            JFrame frame = new JFrame();
            cv = new ClienteView();
            frame.setContentPane(cv);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            // este comando centraliza o JFrame na tela
            frame.setLocationRelativeTo( null );
            frame.pack();
            frame.setTitle("Cadastro de Clientes");
            frame.setVisible(true);
        }
    });
}

}

a linha q vc ker esta acima…

Criado 23 de junho de 2010
Ultima resposta 12 de mar. de 2011
Respostas 2
Participantes 3