Relação entre Duas JTable com Cod_Funcionario - Como Fazer? ( vinculação )

12 respostas
viny_scholl

Olá Pessoal, eu tenho uma tabela Nivel_Acesso, que tem o Cod_Funcionario e o NomeDoModulo
e tenho outra tabela Com os DADOS do Funcionario como Cod_Funcionario, nome_funcionario e login_funcionario!

Ai, eu Insiro o Nome do Modulo ao qual o funcionário tem acesso na tabela nivel_acesso, até ai tudo ok,
porem Ao clicar em cima de funcionario eu queria que ele mostrasse somente os dados relacionados aquele codigo do funcionario, mas a tabela de baixo semre fica mostrando todos os dados!

Seria um relacionamento com o Cod_Funcionario nas duas tabelas!

Entendem?

Sobre a relação entre JTable, Segue Aqui o Print:

Obs: Eu queria que na Jtable “Nivel Acesso”, só me Mostrasse as informações em relação ao Funcionario que eu selecionasse o jTable de Funcionarios!

Como Fazer Isso?

Abraço!

12 Respostas

viny_scholl
viny_scholl

[size=18] Seria Vincular uma jTable ao Item Selecionado da Outra jTable ![/size]

viny_scholl

Help-me!
Tenho até amanhã Para Resolver Isto!

Anime

Oi,

Não entendi, mas não é só setar os campos que vc quer mostrar na JTable…

viny_scholl

Anime:
Oi,
Não entendi, mas não é só setar os campos que vc quer mostrar na JTable…

Não entendi o que quis dizer, Mas o que quero fazer é:
Ao clicar em uma Linha da Jtable Funcionário, ele pegue pelo Cod do Funcionário dessa linha selecionada e me mostre na Jtable NivelAcesso os Nives desse Funcionário!

Veja o Print para melhor compreendimento!

É uma Vinculação com o Cod do Funcionario entre as tabelas, como se uma fosse a Mestre e a outra o Detalhe!

Ajuda eu!

R

Viny
em uma rapida pesquisado por ai achei este exemplo e eu o utilizo para exatamente o que vc esta precisando

quando selecionaada uma linha na tabela esse exemplo mostra os dados em uma saida de console

basta vc alterar a saida do console e setar para a outra tabela

espero ter ajudado

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import javax.swing.event.*;

public class Estudos extends JFrame{
  public Estudos(){
    super("Exemplo de uma tabela simples");

    // colunas da tabela
    final String[] colunas = {"Cidade", "Estado", "Habitantes"};

    // conteúdo da tabela
    final Object[][] conteudo = {
        {"Goiânia", "GO", "43.023.432"},
        {"São Paulo", "SP", "5.343.234"},
        {"Rio de Janeiro", "RJ", "6.434.212"},
        {"Jussara", "GO", "87.454"},
        {"Barra do Garças", "MT", "64.344"}
    };

    TableModel dataModel = new AbstractTableModel() {
     public int getColumnCount() { return colunas.length; }
     public int getRowCount() { return conteudo.length;}
     public Object getValueAt(int row, int col) {return conteudo[row][col];}
     public String getColumnName(int column) {return colunas[column];}
     public Class getColumnClass(int col) {return getValueAt(0,col).getClass();}
     public void setValueAt(Object aValue, int row, int column) {
       conteudo[row][column] = aValue;
     }
    };

    // constrói a tabela
    JTable tabela = new JTable(dataModel);

    ListSelectionModel listMod = tabela.getSelectionModel();
    listMod.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    listMod.addListSelectionListener(new Selecao(tabela));

    tabela.setPreferredScrollableViewportSize(new Dimension(350, 50));

    Container c = getContentPane();
    c.setLayout(new FlowLayout());

    JScrollPane scrollPane = new JScrollPane(tabela);
    c.add(scrollPane);

    setSize(400, 300);
    setVisible(true);
  }

  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

class Selecao implements ListSelectionListener{
  private JTable tabela;

  public Selecao(JTable tb){
  	this.tabela = tb;
  }

  public void valueChanged(ListSelectionEvent e){
    int maxRows;
    int[] selRows;
    Object value;

    if(!e.getValueIsAdjusting()){
      selRows = tabela.getSelectedRows();

      if(selRows.length > 0) {
        for (int i= 0; i < 3 ; i++){
          TableModel tm = tabela.getModel();
          value = tm.getValueAt(selRows[0],i);
          System.out.println("Selecao : " + value );
          }
        System.out.println();
      }
    }
  }
}
viny_scholl

Ainda Não Consegui!

Help-me!

Anime

Oi,

Faz uma condição com select…

select from TBFuncionario where CodFunc = CodFunc

Pode usar like também…

http://www.sql-tutorial.net/SQL-WHERE.asp

Boa sorte!

ViniGodoy

A vinculação não é automática. Você deve implementa-la no braço.

Primeiro, adicione um listSelectionListener, para capturar os cliques na tabela de cima;
Nesse listener, carregue os dados e preencha a tabela debaixo.

O exemplo que o colega passou faz isso.

Anime

ViniGodoy:
A vinculação não é automática. Você deve implementa-la no braço.

Primeiro, adicione um listSelectionListener, para capturar os cliques na tabela de cima;
Nesse listener, carregue os dados e preencha a tabela debaixo.

O exemplo que o colega passou faz isso.

Faça como o Vini indicou… :wink:

viny_scholl
ViniGodoy:
A vinculação não é automática. Você deve implementa-la no braço. Primeiro, adicione um listSelectionListener, para capturar os cliques na tabela de cima; Nesse listener, carregue os dados e preencha a tabela debaixo. O exemplo que o colega passou faz isso.

Vou ir Tentando, mas como to Iniciando ainda não entendo muito dessas coisas,

Vou Postar a minha classe para que vocês me ajudem! Por Favor.

public class ControleAcessoView extends javax.swing.JFrame {

    /** Creates new form ControleAcessoView */
    public ControleAcessoView() {
        initComponents();
         if (!Beans.isDesignTime()) {
            entityManager.getTransaction().begin();
        }
    }

    /** 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.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {
        bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

        entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("siscomjavaPU").createEntityManager();
        funcionarioQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT f FROM Funcionario f");
        funcionarioList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(funcionarioQuery.getResultList());
        nivelAcessoQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT n FROM NivelAcesso n");
        nivelAcessoList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(nivelAcessoQuery.getResultList());
        jPanel5 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        DefaultMutableTreeNode pai = new DefaultMutableTreeNode("Prime - Sistema Comercial");

        DefaultMutableTreeNode filho1 = new DefaultMutableTreeNode("Cadastro");
        pai.add(filho1);

        DefaultMutableTreeNode neto1 = new DefaultMutableTreeNode("Clientes");
        filho1.add(neto1);

        DefaultMutableTreeNode neto2 = new DefaultMutableTreeNode("Fornecedores");
        filho1.add(neto2);

        DefaultMutableTreeNode neto3 = new DefaultMutableTreeNode("Contas Bancárias");
        filho1.add(neto3);

        DefaultMutableTreeNode neto4 = new DefaultMutableTreeNode("Unidades");
        filho1.add(neto4);

        DefaultMutableTreeNode neto5 = new DefaultMutableTreeNode("Produtos");
        filho1.add(neto5);

        DefaultMutableTreeNode neto6 = new DefaultMutableTreeNode("Departamentos");
        filho1.add(neto6);

        DefaultMutableTreeNode neto7 = new DefaultMutableTreeNode("Funcionários");
        filho1.add(neto7);

        DefaultMutableTreeNode neto8 = new DefaultMutableTreeNode("Cartões");
        filho1.add(neto8);

        DefaultMutableTreeNode neto9 = new DefaultMutableTreeNode("Plano de Contas");
        filho1.add(neto9);

        DefaultMutableTreeNode neto10 = new DefaultMutableTreeNode("Tipo de Pgto / Rcbto");
        filho1.add(neto10);

        DefaultMutableTreeNode neto11 = new DefaultMutableTreeNode("Sair");
        filho1.add(neto11);

        DefaultMutableTreeNode filho2 = new DefaultMutableTreeNode("Movimento");
        pai.add(filho2);

        DefaultMutableTreeNode neto12 = new DefaultMutableTreeNode("Contas a Pagar");
        filho2.add(neto12);

        DefaultMutableTreeNode neto13 = new DefaultMutableTreeNode("Contas a Receber");
        filho2.add(neto13);

        DefaultMutableTreeNode neto14 = new DefaultMutableTreeNode("Vendas");
        filho2.add(neto14);

        DefaultMutableTreeNode neto15 = new DefaultMutableTreeNode("Orçamentos");
        filho2.add(neto15);

        //Sub-Menu de Movimento
        DefaultMutableTreeNode neto16 = new DefaultMutableTreeNode("Controle de Estoque");
        filho2.add(neto16);
        //Sub-menu de Controle de Estoque
        DefaultMutableTreeNode bisnetodeEstoque = new DefaultMutableTreeNode("Entrada de NF");
        neto16.add(bisnetodeEstoque);
        //Sub-menu de Controle de Estoque
        DefaultMutableTreeNode bisnetodeEstoque2 = new DefaultMutableTreeNode("Atualização de Preços");
        neto16.add(bisnetodeEstoque2);

        //Sub-Menu de Movimento
        DefaultMutableTreeNode neto17 = new DefaultMutableTreeNode("Compras");
        filho2.add(neto17);
        //Sub-menu de Compras
        DefaultMutableTreeNode bisnetodeCompras = new DefaultMutableTreeNode("Requisição");
        neto17.add(bisnetodeCompras);
        //Sub-menu de Compras
        DefaultMutableTreeNode bisnetodeCompras2 = new DefaultMutableTreeNode("Cotação");
        neto17.add(bisnetodeCompras2);
        //Sub-menu de Compras
        DefaultMutableTreeNode bisnetodeCompras3 = new DefaultMutableTreeNode("Confirma Cotação");
        neto17.add(bisnetodeCompras3);
        //Sub-menu de Compras
        DefaultMutableTreeNode bisnetodeCompras4 = new DefaultMutableTreeNode("Pedido");
        neto17.add(bisnetodeCompras4);

        //Sub-Menu de Movimento
        DefaultMutableTreeNode neto18 = new DefaultMutableTreeNode("Tesouraria e Banco");
        filho2.add(neto18);
        //Sub-menu de Tesouraria e Banco
        DefaultMutableTreeNode bisnetodeTesourariaBanco = new DefaultMutableTreeNode("Emissão de Cheques");
        neto18.add(bisnetodeTesourariaBanco);
        //Sub-menu de Tesouraria e Banco
        DefaultMutableTreeNode bisnetodeTesourariaBanco2 = new DefaultMutableTreeNode("Conciliação de Cheques");
        neto18.add(bisnetodeTesourariaBanco2);
        //Sub-menu de Tesouraria e Banco
        DefaultMutableTreeNode bisnetodeTesourariaBanco3 = new DefaultMutableTreeNode("Movimento de Banco");
        neto18.add(bisnetodeTesourariaBanco3);

        DefaultMutableTreeNode filho3 = new DefaultMutableTreeNode("Utilitários");
        pai.add(filho3);

        DefaultMutableTreeNode neto19 = new DefaultMutableTreeNode("Calculadora");
        filho3.add(neto19);

        DefaultMutableTreeNode neto20 = new DefaultMutableTreeNode("Calendário");
        filho3.add(neto20);

        //Sub-Menu de Utilitários
        DefaultMutableTreeNode neto21 = new DefaultMutableTreeNode("Sistema de Segurança");
        filho3.add(neto21);
        //Sub-menu de Sistema de Segurança
        DefaultMutableTreeNode bisnetodeSistemaSegurança = new DefaultMutableTreeNode("Definir Nível de Acesso");
        neto21.add(bisnetodeSistemaSegurança);
        //Sub-menu de Sistema de Segurança
        DefaultMutableTreeNode bisnetodeSistemaSegurança2 = new DefaultMutableTreeNode("Trocar Senha Corrente");
        neto21.add(bisnetodeSistemaSegurança2);

        DefaultMutableTreeNode filho4 = new DefaultMutableTreeNode("Ajuda");
        pai.add(filho4);

        DefaultMutableTreeNode neto22 = new DefaultMutableTreeNode("Conteúdo");
        filho4.add(neto22);

        DefaultMutableTreeNode neto23 = new DefaultMutableTreeNode("Sobre o Sistema");
        filho4.add(neto23);


        jTree1 = new javax.swing.JTree(pai);
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jTable2 = new javax.swing.JTable();
        jButton4 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Controle de Acesso");

        jScrollPane1.setViewportView(jTree1);

        jButton1.setText("Conceder");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("Retirar");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jButton3.setText("Fechar");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Funcionário"));

        org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, funcionarioList, jTable1);
        org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${codFuncionario}"));
        columnBinding.setColumnName("Cod Funcionario");
        columnBinding.setColumnClass(Integer.class);
        columnBinding.setEditable(false);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nomeFuncionario}"));
        columnBinding.setColumnName("Nome Funcionario");
        columnBinding.setColumnClass(String.class);
        columnBinding.setEditable(false);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${loginFuncionario}"));
        columnBinding.setColumnName("Login Funcionario");
        columnBinding.setColumnClass(String.class);
        columnBinding.setEditable(false);
        bindingGroup.addBinding(jTableBinding);
        jTableBinding.bind();
        jScrollPane2.setViewportView(jTable1);
        jTable1.getColumnModel().getColumn(0).setResizable(false);
        jTable1.getColumnModel().getColumn(0).setPreferredWidth(50);
        jTable1.getColumnModel().getColumn(1).setResizable(false);
        jTable1.getColumnModel().getColumn(2).setResizable(false);

        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()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 358, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Nivel de Acesso"));

        jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, nivelAcessoList, jTable2);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${codFunc}"));
        columnBinding.setColumnName("Cod Func");
        columnBinding.setColumnClass(Integer.class);
        columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nomeModulo}"));
        columnBinding.setColumnName("Nome Modulo");
        columnBinding.setColumnClass(String.class);
        bindingGroup.addBinding(jTableBinding);
        jTableBinding.bind();org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTable1, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.codFuncionario}"), jTable2, org.jdesktop.beansbinding.BeanProperty.create("selectedElements"));
        bindingGroup.addBinding(binding);

        jScrollPane3.setViewportView(jTable2);

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 255, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        jButton4.setText("Salvar");
        jButton4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton4ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 252, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addGap(77, 77, 77)
                        .addComponent(jButton1)
                        .addGap(26, 26, 26)
                        .addComponent(jButton2)
                        .addGap(31, 31, 31)
                        .addComponent(jButton3))
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addGap(29, 29, 29)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addGap(158, 158, 158)
                        .addComponent(jButton4)))
                .addGap(18, 18, 18))
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 401, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(jPanel5Layout.createSequentialGroup()
                        .addGap(13, 13, 13)
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jButton1)
                            .addComponent(jButton2)
                            .addComponent(jButton3))
                        .addGap(29, 29, 29)
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(jButton4)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        bindingGroup.bind();

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
      //JOptionPane.showMessageDialog(null, jTree1.getLastSelectedPathComponent());
        NivelAcesso ne = new NivelAcesso();
        entityManager.persist(ne);
        int index = jTable1.getSelectedRow();
        ne.setCodFunc(funcionarioList.get(index).getCodFuncionario());
        ne.setNomeModulo( jTree1.getLastSelectedPathComponent().toString());
        nivelAcessoList.add(ne);
    }//GEN-LAST:event_jButton1ActionPerformed

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
        dispose();
    }//GEN-LAST:event_jButton3ActionPerformed

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed
        int index = jTable2.getSelectedRow();
        nivelAcessoList.remove(index);
    }//GEN-LAST:event_jButton2ActionPerformed

    private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed
        try {
            entityManager.getTransaction().commit();
            entityManager.getTransaction().begin();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }//GEN-LAST:event_jButton4ActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ControleAcessoView().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.persistence.EntityManager entityManager;
    private java.util.List<prime.bean.Funcionario> funcionarioList;
    private javax.persistence.Query funcionarioQuery;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel5;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JTable jTable1;
    private javax.swing.JTable jTable2;
    private javax.swing.JTree jTree1;
    private java.util.List<prime.bean.NivelAcesso> nivelAcessoList;
    private javax.persistence.Query nivelAcessoQuery;
    private org.jdesktop.beansbinding.BindingGroup bindingGroup;
    // End of variables declaration//GEN-END:variables

}

Quem estiver disposto a me ajudar, eu Agradeço Muito! :D

R

bom como vc ainda nao consseguiu fiz aqui um exemplo bem basico
com duas tabelas onde quando selecionada uma linha na primeira tabela a segunda se preenche com os modulos a qual o mesmo tem acesso

no arquivo rar que esta em anexo
tem uma pasta chamada banco de dados
vc deve abrir o mysql administrator e executar o backup do arquivo vinculacao.sql
e depois abrir o projeto com o netbeans
no pacote de codigo fonte tem a classe conexaoBD a qual vc deve alterar de acordo com suas configurações do mysql,
nessa classe esta configurado o root com senha 123 altere se necessario

eu tbm estou começando em java se algum usuario avançado quiser analisar esse projeto e quiser opinar e dar sugestões para
aprimoramento do codigo seria uma boa tbm
masi mamao que açucar do que isso impossivel
abraços
espero ter ajudado

postei em um link externo pois o anexo maximo e de 500kb
http://www.multiupload.com/QOVMCR1QLW

Criado 10 de abril de 2011
Ultima resposta 11 de abr. de 2011
Respostas 12
Participantes 4