rendered paste bodyimport java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Evolution extends JFrame implements ActionListener {
private PlayPanel myPlayPanel;
public Individual[] individuals;
private Timer tim = new Timer(20, this);
public Evolution () {
setTitle("Myror");
setSize(600,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new BorderLayout());
myPlayPanel = new PlayPanel();
c.add(myPlayPanel, BorderLayout.CENTER);
tim.start();
setVisible(true);
individuals = new Individual[100];
for(int i=0;i<100;i++) {
individuals[i] = new Individual(100,200,0, false);
}
}
public void actionPerformed (ActionEvent e) {
for(int i=0;i<100;i++) {
individuals[i].step();
}
repaint();
}
public static void main(String[] args) {
new Evolution();
}
public class PlayPanel extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.black);
g.drawRect(0, 0, 600, 600);
g.fillRect(0, 0, 600, 600);
for(int i=0;i<100;i++) {
individuals[i].draw(g);
}
}
}
}
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Evolution.actionPerformed(Evolution.java:32)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(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)