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)