Olá, sou iniciante no java e tenho como atividade final da disciplina POO montar um programa que crie um concurso de quadrilhas juninas.
O problema acontece lá no “class Button1”, quando dou run na classe TelaCriarConcurso e digito no JTextField e clico no botão button1 ele dá um NullPointer e menciona a linha “tlc.box.addItem(cq.getAno());” , não sei se estou certo mas acredito que isso quer dizer que a string cq.getAno() é null, e não deveria pois o usuário insere uma string no JText e usando o getText eu instancio um ConcursoDeQuadrilhas(ano).
Desde ontem a tarde que pesquiso sobre esse tipo de erro mas não consegui solucionar.
Agradecido a quem ajudar, abraços.
[code]public class TelaCriarConcurso{
TelaListarConcurso tlc = new TelaListarConcurso();
TodosConcursos tc = new TodosConcursos();
ConcursoDeQuadrilhas cq;
TelaCriarQuadrilhas tcq = new TelaCriarQuadrilhas();
JFrame frame;
JButton button1;
JButton back;
JTextField criar;
public static void main(String [] args) {
TelaCriarConcurso ctc = new TelaCriarConcurso();
ctc.go();
}
public void go(){
JLabel nome = new JLabel(" CRIAR CONCURSOS");
frame = new JFrame();
criar = new JTextField("Digite aqui o ano do concurso");
button1 = new JButton ("Cadastrar este concurso");
back = new JButton ("Voltar");
frame.add(nome);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(criar);
frame.getContentPane().add(button1);
frame.getContentPane().add(back);
frame.setLayout(new GridLayout(4,2));
frame.setSize(300,300);
frame.setVisible(true);
frame.getContentPane().setBackground(Color.white);
button1.addActionListener(new Button1());
back.addActionListener(new ButtonB());
}
class Button1 implements ActionListener {
public void actionPerformed(ActionEvent event) {
//Integer.parseInt(criar.getText());
String ano = criar.getText();
cq = new ConcursoDeQuadrilhas(ano);
tc.novoConcurso(cq);
tlc.box.addItem(cq.getAno());
/*for(int i = 0;i<tc.getConcursos().size(); i++ ){
ConcursoDeQuadrilhas q = tc.getConcursos().get(i);
tlc.box.addItem(cq.getAno());
}*/
tcq.go();
}
}[/code]
Não sei se ajuda:
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at View.TelaCriarConcurso$ButtonA.actionPerformed(TelaCriarConcurso.java:56)
Você esta chamando o “cq” antes de cria-lo, dê um new nele para ver se resolve.
Luciano, o cq foi criado na linha 5, o código tá bagunçado pq fico tentando mtas formas direferentes =/
Não amigo, você está declarando a váriavel na linha 5.
A váriavel está sendo inicializada na linha 42, no listener do seu botão.
Entendi, obrigado por tentar a judar, mas o erro persiste.
Mais ninguém tem uma idéia?
tá batendo o desespero
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at View.TelaCriarConcurso$ButtonA.actionPerformed(TelaCriarConcurso.java:57)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
O Probleme deve estar dentro dessa classe aqui: TodosConcursos.
Aquele atributo box dessa classe não deve ter sido inicializado.
Gabriel, obrigado pelo toque, não dá mais o nullpointer, agora o problema é que o comboBox continua vazio msmo dps de criar um concurso, tá tenso