Passar dado de um Jdialog para um Jframe

Tenho um Jframe que é uma tela de cadastro , em um dos campos tem um botão pesquisar quando clica nele
abre um jdialog com um jtable com todas as opções, quando de o clique na linha da jtable queria que preenchesse
este o textfiel do frame com a informação clicada do jdialog.

Sou novato demais em java, minha primeira experiencia na linguagem
ja pesquisei bastante aqui no forum achei algumas coisas , mais nao consegui entender bem.

segue os codigos

JFRAME

[code] import BLL.FilmeBLL;
import MODELO.Filme;
import java.awt.event.MouseAdapter;
import javax.swing.JFrame;
import javax.swing.JTextField;

public class CadFilme extends javax.swing.JFrame {
PesquisaGenero pesq;

public CadFilme() {
    super("Cadastro de Filmes");
    initComponents();
    setDefaultCloseOperation(CadFilme.HIDE_ON_CLOSE);
    
    
}
                      
private void bCadastrarActionPerformed(java.awt.event.ActionEvent evt) {                                           
   String idFilme = tIdentificador.getText();
    String titulo = tTitulo.getText();
    float preco = Float.parseFloat(tPreco.getText());
    String idGenero = tGenero.getText();
    Filme filme = new Filme(idFilme,titulo,preco,idGenero);
    FilmeBLL.insert(filme);
    limpaTela();
}                                          

private void bLimparActionPerformed(java.awt.event.ActionEvent evt) {                                        
    limpaTela();
}                                       

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   // EVENTO QUE ABRE O JDIALOG COM A JTABLE

String descricao = tGenero.getText();
pesq = new PesquisaGenero(descricao);
new PesquisaGenero(descricao).setVisible(true);
}

public void limpaTela(){
    tIdentificador.setText("");
    tTitulo.setText("");
    tPreco.setText("");
    tGenero.setText("");
}

public JTextField gettGenero() {
    return tGenero;
}

public void settGenero(String genero) {
   tGenero.setText(genero);
}

[/code]

JDIALOG que abre com a tabela com as opções

[code] import BLL.GeneroBLL;
import MODELO.Genero;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.table.DefaultTableModel;

public final class PesquisaGenero extends javax.swing.JDialog {
private DefaultTableModel tabela;
private ArrayList listaGenero;
private int posicao;

CadFilme filme = new CadFilme();

public PesquisaGenero(java.awt.Frame parent, boolean modal,String descricao) {
    super(parent,modal);
    initComponents();
    
}

PesquisaGenero(String descricao) {
    initComponents();
    tabela = (DefaultTableModel) tabelagenero.getModel();
    tabelaGenero(descricao);
}
                     

 public void tabelaGenero(final String descricao) {        
    
    listaGenero = GeneroBLL.pesquisaGenero(descricao);
    
    if (!listaGenero.isEmpty()) {
        posicao = 0;
        for (int i = 0; i < listaGenero.size(); i++) {
            setTabelaLivro(listaGenero.get(posicao));
            posicao++;
        }
    }
    tabelagenero.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            int row = tabelagenero.getSelectedRow();
            preenche(listaGenero, row);
            filme.repaint();
            System.out.println(row);

        }
    });
}

public void setTabelaLivro(Genero genero) {
    String linha[] = new String[2];
    linha[0] = Integer.toString(genero.getIdgenero());
    linha[1] = genero.getDescricao();
    tabela.addRow(linha);
}
 public void preenche(ArrayList<Genero> listaGenero, int row) {
            
            filme.settGenero(listaGenero.get(row).getDescricao());
}[/code]

Quem puder ajudar , MUIITOOO OBRIIGADO !

Opa, japaax, beleza?

Vamos lá:
Você quer pegar o resultado da pesquisa, correto?
Então vamos fazer algumas modificações:

  1. Seu JDialog deve conter seu próprio tablemodel (vide assinatura) e este deve conter um método que retorna o valor que foi selecionado na tabela (vou fazendo um exemplo para você se basear):[code]public class PesquisaGenero extends JDialog {

    private GenerosTableModel tablemodelGeneros;
    private JButton buttonConcluirPesquisa;
    private boolean concluido = false;

    public boolean isConcluido() {
    return concluido;
    }

    public PesquisaGenero() {

     try {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
     }
     catch (Exception lafException) {
         JOptionPane.showMessageDialog(String.format("Erro ao gerar o LAF => %s", lafException.getMessage()));
     }
     setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
     setModal(true);
    
     tablemodelGeneros = new GenerosTableModel();
     JTable tableGeneros = new JTable(tablemodelGeneros);
    
     // Suponhamos que você possua um botão que conclua a pesquisa e feche o formulário.
     buttonConcluirPesquisa = new JButton("Concluir");
     buttonConcluirPesquisa.addActionListener(new ConcluirPesquisaActionListener());
    

    }

    public List recuperarValoresSelecionados() {
    return tablemodelGeneros.getSelectedRows(); // você pode chamar o método como quiser.
    }

    public ConcluirPesquisaActionListener implements ActionListener {

     public void actionPerformed(ActionEvent event) {
         concluido = true;
         dispose();
     }
    

    }
    }[/code]

  2. Quando você instanciar o formulário de pesquisa, atribua esta instância a uma variável.[code]//Ao invés de:
    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
    // EVENTO QUE ABRE O JDIALOG COM A JTABLE
    String descricao = tGenero.getText();
    pesq = new PesquisaGenero(descricao);
    new PesquisaGenero(descricao).setVisible(true);
    }
    // Faça:
    private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
    // EVENTO QUE ABRE O JDIALOG COM A JTABLE
    String descricao = tGenero.getText();
    pesq = new PesquisaGenero(descricao);

    // Assim.
    PesquisaGenero formularioPesquisa = new PesquisaGenero(descricao).setVisible(true); 
    // Como o formulário é modal, fica travado até você fechar ou qualquer coisa do tipo.
    // Se você fechou pelo botão "Concluir pesquisa", a variável 'concluido' será true. Logo...
    if (formularioPesquisa.isConcluido()) {
    
        List<Genero> generosSelecionados = formularioPesquisa.recuperarValoresSelecionados();
        // Faça o que mais precisar!
    }
    

    }
    [/code]Analisa aí e nos dê um reply!

Obrigado pela força Nicolas Fernandes.
Não entendi muito sua explicação seu Jdialog ta praticamente novo
e ta de uma forma que não sei fazer ainda e como tenho que fazer a apresentação
desse projeto não posso usar uma coisa tão distante , mais vou estuda-ló .
Qualquer coisa posto aqui novamente, MUITO OBRIGADO!

E na verdade não queria pegar o resultado da pesquisa e sim pegar o dado
clicado da minha JTABLE e popular meu jtextfield que está em meu JFRAME que ja esta berto.
Eu consigo passar o valor para o campo só que para ele aparecer
tenho que abrir a tela de cadastro (JFRAME) novamente para atualizar.
acho que seria apenas atualizar o Jframe ou algo assim.

Outro exemplo:
http://www.guj.com.br/java/55710-jdialog-devolvendo-valor-pra-jinternalframe#292687

Obrigado pelo exemplo.
Já tinha visto antes mais não consegui implementar ;/

Alguém tem alguma forma mais “clara” de atualizar esse textfield com o click na Jtable ?

Japaax, como você aprendeu a criar interfaces Swing para o JAVA? “Na unha” ou usando um editor gráfico, tipo o Matisse do Netbeans?
Pelo que deu para perceber, você aprendeu usando editores gráficos. Eu, particularmente, não recomendo começar por aí. Do que adianta você usar uma ferramenta se você não sabe como se passa por trás dela? E se você precisar de uma customização, fica complicado, já que não conhece o “por dentro” da ferramenta, não concorda?

Eu sugiro que você estude um pouco sobre como criar suas classes JFrame, JDialog, JInternalFrame, enfim, classes que representam formulários Swing, aprender sobre como criar controles (JTextField, JComboBox, JTables, JButtons), listeners (ActionListener, KeyListener), dentre outros. Se você aprender tudo isso, meu código e o do link do Vini ficarão bem claros, pois é a simplicidade em pessoa ali, hahaha.

Nicolas entendo o que você está falando , mas como descrevi em meu primeiro post sou muito novo em java
é meu primeiro projeto , minha primeira experiência e assim aprendi no meu 2º semestre de faculdade. Ainda não tive oportunidades de ir fazendo tudo certinho
sem usar as ferramentas gráficas. Estou lendo para não usar DefaultTableModel e etc …
Mas no momento e pelo tempo que tenho infelizmente precisaria de algo mais simples.
O código que você postou acho que não foi bem o que é minha dúvida , o do viny já tem mais haver.

Na verdade queria atualizar o textfield , testei com impressão JopTionPane aparece diretinho o valor
mais ele não atualiza no meu Jframe. Ele só atualiza se no meu mouse clicked eu colocar um
filme.setVisible(true); ai fica dois frames um atualizado e outro nao , só que no atualizado perco
os dados dos campos que ja estavam preenchidos.

Mais valeu pelas dicas e conselhos, pretendo sim seguir essa linha “menos” descomplicada.

[quote=japaax]Nicolas entendo o que você está falando , mas como descrevi em meu primeiro post sou muito novo em java
é meu primeiro projeto , minha primeira experiência e assim aprendi no meu 2º semestre de faculdade. Ainda não tive oportunidades de ir fazendo tudo certinho
sem usar as ferramentas gráficas. Estou lendo para não usar DefaultTableModel e etc …
Mas no momento e pelo tempo que tenho infelizmente precisaria de algo mais simples.
O código que você postou acho que não foi bem o que é minha dúvida , o do viny já tem mais haver.

Na verdade queria atualizar o textfield , testei com impressão JopTionPane aparece diretinho o valor
mais ele não atualiza no meu Jframe. Ele só atualiza se no meu mouse clicked eu colocar um
filme.setVisible(true); ai fica dois frames um atualizado e outro nao , só que no atualizado perco
os dados dos campos que ja estavam preenchidos.

Mais valeu pelas dicas e conselhos, pretendo sim seguir essa linha “menos” descomplicada.[/quote]
Eu também te entendo, pois já fui “novato”, vamos chamar assim hahaha.
Mas cara, sinceramente: vá primeiro pelo “caminho das pedras”. Comece aprendendo passo-a-passo, como criar na mão mesmo cada componente, usar layouts, frames, modelos de tabelas (sem ser o DefaultTableModel, pelo amor de Cristo! rs). Vá aprendendo o “complicado”, primeiro, porque depois esses componentes prontos ficam simples de entender e você pode customizá-los sem problema algum!

vlw Nicolas.

Achei esse tópico que é o que eu quero , e está bem parecido com o meu.

http://www.guj.com.br/java/42607-atualizar-um-jtextfield

será que podia me dar uma força na implementação ?

Veja se o anexo ajuda.

Vou da uma olhada , vllllllw

Tentei implementar teu codigo e não funcionou , ficou da mesma forma
o valor não atualiza.

Fiquei em duvida nesta parte do código

minha tabela não me da a opção do getObjectAT , acho que por ser DefaultTableModel ;/

Alguém ai ?