Como passar as informações deste JTextField deste JFrame para Outro JtextField de outro JFrame

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JRadioButton;
import javax.swing.ImageIcon;

public class NovaEntrada extends JFrame implements ActionListener
{
private JLabel lblData, lblVolumeDoDia, lblQuantidadeDeChuva, lblCalendario;
private JButton btnOK;
public JTextField txtData, txtVolumeDoDia, txtQuantidadeDeChuva;
private JRadioButton rbtnPorcentagem, rbtnMetrosCubicos;

public NovaEntrada()
{
super(“Nova Entrada”);

  btnOK = new JButton("OK");
  lblData = new JLabel("Data: ");
  lblVolumeDoDia = new JLabel("Volume do dia: ");
  lblQuantidadeDeChuva = new JLabel("Quantidade de chuva: ");
  lblCalendario = new JLabel();
  txtData = new JTextField(8);
  txtVolumeDoDia = new JTextField(15);
  txtQuantidadeDeChuva = new JTextField(15);
  rbtnPorcentagem = new JRadioButton("Porcentagem");
  rbtnMetrosCubicos = new JRadioButton("Mestros cúbicos (m³)");
  
  Container caixa = getContentPane();
  caixa.setLayout(new FlowLayout());
  
  caixa.add(lblData);
  caixa.add(txtData);
  caixa.add(lblCalendario); //insere a imagem do calendário
  caixa.add(lblVolumeDoDia);
  caixa.add(txtVolumeDoDia);
  caixa.add(rbtnPorcentagem);
  caixa.add(rbtnMetrosCubicos);
  caixa.add(lblQuantidadeDeChuva);
  caixa.add(txtQuantidadeDeChuva);
  caixa.add(btnOK);   
  
  btnOK.addActionListener(this);
  rbtnPorcentagem.addActionListener(this);
  rbtnMetrosCubicos.addActionListener(this);
  
  setSize(245,270);
  setLocationRelativeTo(null);
  setVisible(true);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  lblCalendario.setIcon(new ImageIcon("D:\\aulas usjt\\projeto interdisciplinar\\java - modelo 2 (tabela de nova entrada)\\calendario.png"));  //seleciona a imagem

}

//Eventos
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == rbtnPorcentagem)
{
rbtnMetrosCubicos.setSelected(false);
//fazer o tipo de cálculo para porcentagem e não deixar que a segunda opção seja marcada simultaneamente
}
else if(e.getSource() == rbtnMetrosCubicos)
{
rbtnPorcentagem.setSelected(false);
//fazer o cálculo para metros cúbicos e não deixar que a primeira opção seja marcada simultaneamente
}

     else if(e.getSource() == btnOK)
     {
        if((txtData.getText().trim().equals("")) || (txtVolumeDoDia.getText().trim().equals("")) || 
           (txtQuantidadeDeChuva.getText().trim().equals("")))      //verifica se foi digitado algo nos campos txt
        {
        System.out.println("ERRO: ha um ou mais campos em branco.");
        }
        else if((rbtnPorcentagem.isSelected() == false) && (rbtnMetrosCubicos.isSelected() == false))       //verifíca se os JRButtons estão selecionados ou não
        {
        System.out.println("ERRO: o tipo de calculo nao foi selecionado (porcentagem ou m³).");
        }
        else
        {
        new NovaEntrada2();
        }
        
     }

}

//outros métodos

public String Acesso()
{
return
txtData.getText();
}

}

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JRadioButton;
import javax.swing.ImageIcon;

public class NovaEntrada2 extends JFrame
{
private NovaEntrada novaentrada;
private JLabel lblMsgDados, lblData, lblVolumeDoDia, lblQuantidadeDeChuva;
private JButton btnSim, btnNao;
private JTextField txtData, txtVolumeDoDia, txtQuantidadeDeChuva;

public NovaEntrada2()
{
super(“Nova Entrada”);

  lblMsgDados = new JLabel("Os dados a seguir estão corretos?");
  lblData = new JLabel("Data: ");
  lblVolumeDoDia = new JLabel("Volume do dia: ");
  lblQuantidadeDeChuva = new JLabel("Quantidade de chuva: ");
  btnSim = new JButton("Sim");
  btnNao = new JButton("Não");
  txtData = new JTextField();
  txtVolumeDoDia = new JTextField();
  txtQuantidadeDeChuva = new JTextField();
  
  Container caixa = getContentPane();
  caixa.setLayout(new FlowLayout());
  
  caixa.add(lblMsgDados);
  caixa.add(lblData);
  caixa.add(txtData);
  caixa.add(lblVolumeDoDia);
  caixa.add(txtVolumeDoDia);
  caixa.add(lblQuantidadeDeChuva);
  caixa.add(txtQuantidadeDeChuva); 
  caixa.add(btnSim);
  caixa.add(btnNao);

// btnSim.addActionListener(this);
// btnNao.addActionListener(this);

  setSize(230,205);
  setLocationRelativeTo(null);
  setVisible(true);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

----------------------------------------------------------POR FAVOR------------------------------------------------------------------------
Aqui estão os códigos. preciso passar o conteúdo que será digitado no JTextField do NovaEntrada para o NovaEntrada2. Sempre que eu tento executar, uma sequência ENORME de erros aparecem:
----------------------------------------------------------ME AJUDEM!----------------------------------------------------------------------

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1093)
at java.awt.Container.add(Container.java:417)
at NovaEntrada2.(NovaEntrada2.java:37)
at NovaEntrada.actionPerformed(NovaEntrada.java:86)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Olá

Eu testei seu código e não deu erros como vc disse.

Para passar o conteúdo é simples, basta alterar o construtor na classe NovaEntrada2

exemplo

public NovaEntrada2(String data) {
    /* ... */
    txtData = new JTextField(data);

e no botao no NovaEntrada:

    else
    {
    new NovaEntrada2(txtData.getText());
    }

obrigado! não fiz exatamente como você fez, mas consegui resolver o problema aqui.

Willian_Diniz, geralmente quando preciso passar dados entre jframes costumo utilizar a seguinte solução:

Por exemplo: você quer passar as informações de um Jframe A para um Jframe B, aí no Jframe B eu crio um método público e estático que recebe Strings ou um vetor de Strings (com as informações que desejo) e que, logicamente, seta a propriedade Text dos jtextfields. Depois basta chamar esse método qualquer outra tela.