Pessoal, não sei se postei isso no lugar certo. Fiquei em duvida entre "Java Básico" e "Interface", mas como o erro acredito estar na OO... ...
Seguinte..
Estou percebendo um erro que acontece sempre que instancio uma matriz ao invés de um objeto só.
Criei um programa bem grande, mas pra demostrar o erro vou mostrar um menor.
Criei uma interface simples em Swing e um Jpanel. Coloquei um botão e um textfield...
Em seguida a classe "Pessoa"public class pessoa {
String nome;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
...
Depois voltei pra interface e instanciei um objeto da classe pessoa...
public class Interface extends javax.swing.JFrame {
/** Creates new form Interface */
pessoa x = new pessoa();
... Não sei se estanciei no lugar certo mas parece que funcionou normal...
Depois coloquei uma ação pro botão...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
x.setNome(tfNome.getText());
}
Ou seja, eu mandei salvar o texto contido do textfield na variavel "Nome" do objeto x da classe pessoa..
Executei o programa e aparentemente rodou tudo bem...
O problema..........................
Quando eu tento criar uma matriz de objetos da classe pessoa da erro ao executar..
Eu fiz algo assim:
public class Interface extends javax.swing.JFrame {
/** Creates new form Interface */
pessoa x[] = new pessoa[5];
.. E na ação:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
x[3].setNome(tfNome.getText());
}
... Ao meu ver tudo bem.. Nenhum aviso de erro.. O problema é quando eu executo e aperto no botão...
Aparece o seguinte erro:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Interface.jButton1ActionPerformed(Interface.java:106)
at Interface.access$000(Interface.java:16)
at Interface$1.actionPerformed(Interface.java:44)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
at java.awt.Component.processMouseEvent(Component.java:6106)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3276)
at java.awt.Component.processEvent(Component.java:5871)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)
Já estou a horas encima num projeto que preciso de uma matriz, mas não da certo... :shock:
Se alguem souber onde estou errado e puder me indicar ficarei grato.. :roll: