Duvida sobre JText e telas iguais

Eu crio duas telas iguais, essas telas possuem dois JTexts e um botão. Eu digito uma frase em um dos JText e ao apertar o botão essa frase aparece no outro JText. O que eu quero saber é como ao digitar o texto em uma das telas e apertar o botão a mudança de texto aconteça nas duas telas.

Se são instancias diferentes, verifica se dentro da tela tem algum objeto em comum e que já esteja instanciado.

Em tese, uma tela pode ser instanciada quantas vezes se deseja e de acordo com a memoria, é pra ser independente uma da outra.

crie um método na segunda tela
quando vc alterar a primeita tela execute o método da segunda tela.

public void mudacampo(String s) {
CampoTela2.settext(s);
}

nao sei para que vc vai usar isso nem em que situação… mas talve z isso resolva

Existem N formas de implementar isso.
Eu sugiro criar uma classe que controla a replicação do texto de um componente para os outros.

Suponha que você tenha uma tela com um JTextField:

import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JFrame;
import javax.swing.JTextField;

public class MinhaJanela extends JFrame {

    // JTextField da minha janela
    private JTextField textField;

    public MinhaJanela() {
        super("Janela");

        textField = new JTextField();
        textField.setPreferredSize(new Dimension(200, 36));

        Container container = getContentPane();
        container.setLayout(new FlowLayout(FlowLayout.CENTER));
        container.add(textField);

        Dimension size = new Dimension(240, 100);
        setSize(size);
        setMinimumSize(size);
    }

    // Método que permite obter o JTextField  da minha janela
    public JTextField getTextField() {
        return textField;
    }
}

E você quer abrir várias dessas telas e sempre replicar o que é digitado em um JTextField para o JTextField das outras telas.
Pois bem, você pode criar uma classe responsável por tratar essa replicação de texto:

import java.util.LinkedList;
import java.util.List;

import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
import javax.swing.text.JTextComponent;

public class TextReplicator {

    private class Listener implements DocumentListener {

        final JTextComponent source;

        Listener(JTextComponent source) {
            this.source = source;
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            notifyChanges(source);
        }

        @Override
        public void insertUpdate(DocumentEvent e) {
            notifyChanges(source);
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            notifyChanges(source);
        }
    };

    private List<JTextComponent> components = new LinkedList<>();

    private boolean notifying;

    public void add(JTextComponent component) {
        components.add(component);
        DocumentListener listener = new Listener(component);
        Document document = component.getDocument();
        document.addDocumentListener(listener);
    }

    private void notifyChanges(JTextComponent source) {
        if (!notifying) {
            try {
                notifying = true;
                String text = source.getText();
                for (JTextComponent target : components) {
                    if (target != source) {
                        target.setText(text);
                    }
                }
            } finally {
                notifying = false;
            }
        }
    }
}

E agora é só você registrar os JTextField das instâncias de suas telas em um objeto do tipo TextReplicator:

import javax.swing.WindowConstants;

public class Programa {

    public static void main(String[] args) {
        Programa programa = new Programa();
        programa.executar();
    }

    public void executar() {
        MinhaJanela janela1 = new MinhaJanela();
        MinhaJanela janela2 = new MinhaJanela();
        MinhaJanela janela3 = new MinhaJanela();

        janela1.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        janela2.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        janela3.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        janela1.setLocation(50, 200);
        janela2.setLocation(340, 200);
        janela3.setLocation(630, 200);
        
        janela1.setVisible(true);
        janela2.setVisible(true);
        janela3.setVisible(true);

        // registrar os JTextFields da minhas janelas no mesmo objeto do tipo TextReplicator
        TextReplicator replicator = new TextReplicator();
        replicator.add(janela1.getTextField());
        replicator.add(janela2.getTextField());
        replicator.add(janela3.getTextField());
    }
}