When I run the app a null pointer exception is throw straight away, not sure why?
If i move the Rectangle.draw()
code into Renderer.display()
, the app runs fine.
Heres the error:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at com.app.code.Renderer.render(Renderer.java:111)
at com.app.code.Renderer.display(Renderer.java:87)
Renderer is instanciated in Main.java
glcanvas.addGLEventListener(new Renderer());
GLEventListener implementation:
class Renderer implements GLEventListener {
private GLU glu = new GLU();
private Rectangle rectangle;
public Renderer(){
new Rectangle();
}
public void display(GLAutoDrawable gLDrawable) {
render(gLDrawable);
}
private void render(GLAutoDrawable gLDrawable) {
GL2 gl = gLDrawable.getGL().getGL2();
gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
rectangle.draw(gLDrawable);
}
Rectangle.java
public class Rectangle {
public Rectangle(){
}
void draw(GLAutoDrawable gLDrawable){
gLDrawable.getGL().getGL2().glTranslatef(-1.5f, 0.0f, -6.0f);
gLDrawable.getGL().getGL2().glBegin(GL2.GL_QUADS);
gLDrawable.getGL().getGL2().glVertex3f(-1.0f, -1.0f, 0.0f);
gLDrawable.getGL().getGL2().glVertex3f(-1.0f, 1.0f, 0.0f);
gLDrawable.getGL().getGL2().glVertex3f(1.0f, 1.0f, 0.0f);
gLDrawable.getGL().getGL2().glVertex3f(1.0f, -1.0f, 0.0f);
gLDrawable.getGL().getGL2().glEnd();
gLDrawable.getGL().getGL2().glFlush();
}
}