Abrir JInternalJFrame ao clicar em uma linha de JTable [RESOLVIDO]

11 respostas
java
aeciocleysson

Boa tarde pessoal

estou tentando fazer com que ao clicar em uma linha do JTable abra um JInternalJFrama com os dados que estão na linha do JTable. tentei usando o Mouseclicked mas não deu certo.

private void tbl_clientesMouseClicked(java.awt.event.MouseEvent evt) {                                          

    Exibir_Pesquisa pesquisa = new Exibir_Pesquisa();
    pesquisa.setVisible(true);


}

11 Respostas

Gabrielfp

Para utilizar um JInternalFrame deve chama-lo dentro de um JDesktopPane, sugiro que utilize um JDialog para essa tela.

aeciocleysson

Você quis dizer que é para exibir os dados em um JDialog?

Gabrielfp

Sim, você faz a janela com os mesmos campos que utilizou no jInternalFrame só que em um jDialog.

Uma pergunta, essa aplicação é Desktop ou Web?

aeciocleysson

desktop, eu já ate coloquei em teste no cliente, ai ele me pediu para implementar mais isso.

aeciocleysson

Fiz o JDialog mas não estou conseguindo chamar ele.

private void tbl_clientesMouseClicked(java.awt.event.MouseEvent evt) {                                          

    JPesquisa pesquisa = new JPesquisa(this, true);
    pesquisa.setVisible(true);
Gabrielfp

Verifica as propriedades do JDialog, vê se se não tem nada que possa fazer com que ele não abra, o código não tem nenhum problema fiz testes aqui onde o mesmo código funcionou.

aeciocleysson

fica mostrando essa mensagem.

Gabrielfp

Usa JPesquisa pesquisa = new JPesquisa(null, false); vê se isso funciona.

A

Veja este exemplo:

private void tbl_clientesMouseClicked(java.awt.event.MouseEvent evt) {
        int linha = suaTabela.getSelectedRow();
        //antes de abrir a tela deve haver alguma linha selecionada
        if (linha > -1) {
            
            Exibir_Pesquisa pesquisa = new Exibir_Pesquisa(/*altere o construtor e passe os dados por aqui*/);//ou use set, como a seguir
            pesquisa.setIdClient(suaTabela.getValueAt(linha, 0));
            pesquisa.setNomeCliente(suaTabela.getValueAt(linha, 1));
            pesquisa.setCPFCliente(suaTabela.getValueAt(linha, 2));
            //demais sets que necessitar, caso não queira alterar o construtor
            pesquisa.setVisible(true);
        }
    }
aeciocleysson

isso mesmo valeu pela ajuda

aeciocleysson

valeu pela ajuda

Criado 25 de agosto de 2017
Ultima resposta 25 de ago. de 2017
Respostas 11
Participantes 3