Manipulação de Textos de um Jframe para outro

Ola pessoal, estou com um problema que ja busquei a resposta em varios topicos e não consigo achar.

O Problema e o seguinte tenho um JFrame1 que ao clicar com a tecla F4 no JtextFild chamado fornecedor ele abre outro Jframe2 que mostra um select da tabela fornecedor em um Jtable.
consigo pegar o valor do Jtable normal mais gostaria que ao clicar no Jtable, ele joga-se o valor do Jtable selecionado para o campo fornecedor no Jframe1.

desde ja agradeço a todos.

Movido para o fórum de interface gráfica.

Quanto à sua dúvida, dê uma olhada: http://www.guj.com.br/java/55710-jdialog-devolvendo-valor-pra-jinternalframe#292687

Ola ViniGodoy acredito que o que eu estou precisando e quase isso, mais ainda não conseguir resolver.

Bom eu consigo armazenar o valor em uma variavel e jogar a mesmo em outro Jframe mais a questão e que como no Jframe1 eu tenho uma classe java que estancia o Jframe2 eu não consigo estancia no Jframe2 o Jframe1 então quando eu dou o dispose() no Jframe2 e como se a variavel perdesse o valor e ficasse nula.

JFRAME 1

[code]
public class Cadastro_Contas_Pagar extends javax.swing.JFrame {

public Cadastro_Contas_Pagar() {
    initComponents();
   
}
 Fornecedor_Cadastro fornecedor = new Fornecedor_Cadastro();

     key key = new key();//estancia do metodo que faz a ação de apertar o F4 e abrir o Jframe2

private void TfornecedorKeyPressed(java.awt.event.KeyEvent evt) {                                       
   key.keyPressedCidade(evt);
   
 
}                                      

private void Bsair_cadpagamentoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
 dispose();  // TODO add your handling code here:
}                                                  

private void jPanel1AncestorAdded(javax.swing.event.AncestorEvent evt) {                                      
      Tfornecedor.requestFocus();      
}                                     


        


public static void main(String args[]) {

}[/code]

Class KEY

[code]

public class key {

Consulta_Cidade cscidade = new Consulta_Cidade(); // estancia do JFRAME2

public void keyPressedCidade ( KeyEvent e )
{
    
    if  ( e . getKeyCode () == 115 )
    {
            cscidade.setVisible(true);
            JOptionPane.showMessageDialog(null,cscidade.t); 
     }

}[/code]

       JFRAME2

[code]

public class Consulta_Cidade extends javax.swing.JFrame {

private static class campos {

    public campos() {
    }
}

conexao con_fornecedor;
private String n;

public Consulta_Cidade() {
   
    initComponents();
   
}



 public String t1 = new String(""); ;

 


 
 
boolean Novo = true; //false;
Fornecedor_Cadastro fornecedor = new Fornecedor_Cadastro();
Cadastro_Fornecedor ff = new Cadastro_Fornecedor();



conexao conecta = new conexao();


  private void TbuscaFornecedorActionPerformed(java.awt.event.ActionEvent evt) {                                                 

Exibe();
}
private void SairActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}

private void jPanel1AncestorAdded(javax.swing.event.AncestorEvent evt) {                                      

Exibe2();
TbuscaFornecedor.grabFocus();
}

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

Selecionatable();
}

public void Selecionatable () // metodo de seleção do valor da Jtable
{
int k = jTable1.getSelectedRow();

t1 = (String) jTable1.getValueAt(k, 0);

}

public void Exibe()   // select que dou no Jtable para mostrar os valores no bd

{
jTable1.getColumnModel().getColumn(0).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(20);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(20);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(50);

   DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
    modelo.setNumRows(0);      
   
    String valor = null;
    
    valor = TbuscaFornecedor.getText();

  try
   {
     
    
    ResultSet result = new conexao().query("select * from fornecedor where razao ilike'" + valor+"%'"); 
  
      while(result.next()) 
     modelo.addRow(new Object[] {result.getString("razao"),result.getString("fantasia"),result.getString("cidade"),result.getString("cnpj")});
    
     
   }
  
    catch (SQLException ex){ //gera exceção
       JOptionPane.showMessageDialog(null,"Erro na Tabela JTABLE");
    } 

}//fim Jtable

 public void Exibe2() // outro select no Jtable

{
jTable1.getColumnModel().getColumn(0).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(1).setPreferredWidth(100);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(20);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(20);
jTable1.getColumnModel().getColumn(2).setPreferredWidth(50);

   DefaultTableModel modelo = (DefaultTableModel)jTable1.getModel();
    modelo.setNumRows(0);      
   
    
    
  try
   {
     
    
     ResultSet result = new conexao().query("SELECT * FROM fornecedor"); 
     while(result.next()) 
     modelo.addRow(new Object[] {result.getString("razao"),result.getString("fantasia"),result.getString("cidade"),result.getString("cnpj")});
   
   }
   
    catch (SQLException ex){ //gera exceção
       JOptionPane.showMessageDialog(null,"Erro na Tabela JTABLE");
    } 

}//fim Jtable

public static void main(String args[]) {
   

 [/code]

É porque a consultaCidade deveria ser um JDialog modal. Aquele tipo de janela que o cara não pode sair, enquanto não escolher uma cidade válida.

O JDialog modal tem outra vantagem: ele “trava” no setVisible(true). Por isso o código que demonstrei funciona corretamente, e o seu não.

O JDialog Model e o mesmo do JOptionPane?

Para colocar o Jtable dentro do JDialog eu preciso fazer a interface via codigo ou tem como fazer pelo swing no netbens?

Obrigado…

ViniGodoy cara depois de muita pesquisa conseguir fazer um Jtable manualmente agora me da uma luz de como eu coloco ele dentro do JDialog eu vou usa o JOptionPane.showInputDialog (Componet parentComponet, Object message)?

pois fiz o Jtable dentro de um metodo void e quando coloco ai ele diz que não pode retorna pq e void se eu coloco na class do Jtable string,int,flout, da erro como devo proceder?

ai vai pra galera o codigo que usei para fazer o JTABLE:

[code]
public void Table()
{
tabela = new JTable();
JScrollPane jScrollPane1 = new JScrollPane( tabela );
getContentPane().add( jScrollPane1 );

    tabela.setModel(new DefaultTableModel (
            
        
            
            new Object[][]{
                 {null, null, null, null},
                 {null, null, null, null}, 
                 {null, null, null, null},
            
           },
        new String [] {
            "valeu", "teste2", "teste3", "teste4"
        }
            
            ));            
    
    tabela.setBounds(50, 200, 600, 40); 
    jScrollPane1.setBounds(new Rectangle(9, 20, 600, 90));  //distancia direita,altura,comprimento,distancia esquerda
            
  getContentPane().add(tabela);                    
   jScrollPane1.setViewportView(tabela);
   [/code]

Aguem please uma luz, de como colocar o Jtable dentro do JDIALOG ?? :?