Hallo,
versuche gerade so ne Art Spaceballs zu programmieren. Scheitere jedoch schon am Zeichnen des Balls. Ich versuche die Bewegung mit Threads zu realisieren bekomme jedoch andauernd eine nullpointerexception. Diese Exception wird geworfen sobald versucht wird den Kreis zu zeichnen. Was habe ich falsch gemacht?
versuche gerade so ne Art Spaceballs zu programmieren. Scheitere jedoch schon am Zeichnen des Balls. Ich versuche die Bewegung mit Threads zu realisieren bekomme jedoch andauernd eine nullpointerexception. Diese Exception wird geworfen sobald versucht wird den Kreis zu zeichnen. Was habe ich falsch gemacht?
Code:
package spaceball;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.BorderFactory;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
*
* @author
*/
public class Spaceball extends JFrame{
public Spaceball(){
super("Spaceball");
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(450,300,450,450);
final JPanel space = new JPanel();
space.setBackground(Color.ORANGE);
space.setBorder( BorderFactory.createLoweredBevelBorder());
Ball ball = new Ball(space);
add(space);
ball.start();
setVisible(true);
}
static class Ball extends Thread{
JComponent comp;
int radius1 = 20;
int radius2 = 20;
int startx = 200;
int starty = 400;
int velocityx = 2;
int velocityy = 2;
public Ball(JComponent comp){
this.comp = comp;
}
public void run(){
Graphics graphic = comp.getGraphics();
graphic.setColor(Color.BLACK);
graphic.drawOval(startx, starty, radius1, radius2);
}
}
}