Passar valor de um jFrame para outro jFRame

Amigos nao querendo comparar mais preciso de algo tipo:

no jFrame2 tenho:

jTextField = “TELA 2”

ao pressionar o botao quero passar o TELA 2 para um jTextField qualquer que esta no jFrame 1

como se faz em Delphi

form2.Edit1.text:=‘1’;

Obrigado quem puder dar dicas

É só passar o valor na hora de instanciar o segundo JFrame

jFrame2 = new jFrame2(TidoDoObjeto o);

Form1 e Form2

no Form2 vc faz assim:

MetodoAtualizaCamposDaTela(String texto){
jTextField.setText(texto);
}

no form1 assim:
Form2 f = new Form2();

f.MetodoAtualizaCamposDaTela(“o texto”);
f.setVIsible(true);

ou vc pode criar variaveis publicas pra acessar direto…

essas são as formas mais simples

Marcio,

pelo que eu entendi, o frame 1 chama o 2 e os dois permanecem abertos, certo?

Neste caso não daria certo construtor e nem criar outra variável de frame 1.

Da maneira mais POG, vc poderia passar como parâmetro o textfield do 1 para o 2. Daí seria só utilizar o setText mesmo.

Eu acho que a maneira mais correta é criar um listener. Dependendo do que acontecer no frame 2, vc dispara este listener e ele altera o que vc quer no frame 1.

Não sei se entendi direito, mas espero ter ajudado.

Amigos to até com vergonha acho que bebi demais ontem rsss mais nao deu certo…onde sera qyue to errando:

tela1

[code]package teste;

public class tela1 extends javax.swing.JFrame {

/** Creates new form tela1 */
public tela1() {
    initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    jTextField1 = new javax.swing.JTextField();
    jButton2 = new javax.swing.JButton();

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    jTextField1.setText("jTextField1");

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

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(161, 161, 161)
            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addContainerGap(180, Short.MAX_VALUE))
        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
            .addContainerGap(259, Short.MAX_VALUE)
            .addComponent(jButton2)
            .addGap(68, 68, 68))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(126, 126, 126)
            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(103, 103, 103)
            .addComponent(jButton2)
            .addContainerGap(28, Short.MAX_VALUE))
    );

    pack();
}// </editor-fold>

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    tela2 f = new tela2();
    jTextField1.setText(f.MetodoAtualizaCamposDaTela());


}

public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {

        public void run() {
            new tela1().setVisible(true);
        }
    });
}

// Variables declaration - do not modify
private javax.swing.JButton jButton2;
private javax.swing.JTextField jTextField1;
// End of variables declaration

}
[/code]

tela 2

package teste;

public class tela2 extends javax.swing.JFrame {

    public tela2() {
        initComponents();
    }

    public String MetodoAtualizaCamposDaTela() {
        String texto = jTextField1.getText();
        return texto;
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jTextField1 = new javax.swing.JTextField();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jTextField1.setText("jTextField1");

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

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

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(149, 149, 149)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(192, Short.MAX_VALUE))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(214, Short.MAX_VALUE)
                .addComponent(jButton1)
                .addGap(113, 113, 113))
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(258, Short.MAX_VALUE)
                .addComponent(jButton2)
                .addGap(69, 69, 69))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(30, 30, 30)
                .addComponent(jButton2)
                .addGap(66, 66, 66)
                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(56, 56, 56)
                .addComponent(jButton1)
                .addContainerGap(82, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>

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

        MetodoAtualizaCamposDaTela();
        dispose();
    }

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

    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new tela2().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration
}

Deste jeito não está funcionando por que acho que enquanto a janela 2 não for fechada, o método MetodoAtualizaCamposDaTela() não será executado pelo objeto f na tela 1. A não ser que seja colocado em thread, mas não aconselho.

Dê uma olhada em Observer e Observable, fica melhor ainda:

na verdade eu consegui…fazer usando getter e setters mais eu queria ver de outro jeto tb