[SOLVED] How to bind display() with the KeyBehaviour class?

Sorry, it’s very late, sometimes i make simple mistakes.

You can ofc always access variables/methods from other files by calling filename.variable

somehow it totally slipped my mind.


I have two seperate classes for handeling GLEvents and KeyEvents.

I want to bind the classes so, that if i press “W” that,the boolean statement becomes true.
now, nothing happens.

What should i do? Any tips are welcome!

(yeah ok, i’m new)

Greetings, Cyrus

///GfxFactory.java (GLEventListener)
import javax.media.opengl.;
import javax.media.opengl.glu.
;
import java.awt.event.*;

public class GfxFactory extends KeyBehaviour implements GLEventListener {
private final GLU glu = new GLU();
ObjectLibrary ol = new ObjectLibrary();
KeyBehaviour kb = new KeyBehaviour();

float rot;

public void display(GLAutoDrawable gld) {
	final GL gl = gld.getGL();
	
	gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
	
	gl.glMatrixMode(GL.GL_MODELVIEW);
	gl.glLoadIdentity();
	
	ol.camera(gl, kb.posx, kb.posy, kb.posz, kb.rotx, kb.roty, kb.rotz);
	
	gl.glTranslatef(0.0f, 0.0f, -5.0f);
	gl.glRotatef(rot, 1.0f, 0.0f, 0.0f);
	ol.cube(gl);
	
	rot += 4.0f;
	
	System.out.println(kb.FORWARD);
}

public void init(GLAutoDrawable gld) {
	final GL gl = gld.getGL();
	
	gl.glShadeModel(GL.GL_SMOOTH);
	gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
	gl.glClearDepth(1.0f);
	gl.glEnable(GL.GL_DEPTH_TEST);
	gl.glDepthFunc(GL.GL_LEQUAL);
	gl.glHint(GL.GL_PERSPECTIVE_CORRECTION_HINT, GL.GL_NICEST);
}

public void reshape(GLAutoDrawable gld, int x, int y, int width, int height) {
	final GL gl = gld.getGL();
	
	if(height < 1)
		height = 1;
		
	float ratio = (float)width / (float)height;
	gl.glMatrixMode(GL.GL_PROJECTION);
	gl.glLoadIdentity();
	glu.gluPerspective(50.0f, ratio, 1.0f, 1000.0f);
	gl.glMatrixMode(GL.GL_MODELVIEW);
	gl.glLoadIdentity();
}

public void displayChanged(GLAutoDrawable gld, boolean modeChanged, boolean deviceChanged) {
}

}

///KeyBehaviour.java
import java.awt.event.;
import java.awt.
;
import javax.media.opengl.*;

public class KeyBehaviour implements KeyListener, MouseListener, MouseMotionListener {

/*****************************
	GAME VARIABLES
*****************************/

final float SPEED = 2.0f;
final float ANGLESPEED = 1.0f;

float posx, posy, posz;
float rotx, roty, rotz;
float angle;

boolean FORWARD = false;
boolean BACKWARD = false;
boolean STRAFELEFT = false;
boolean STRAFERIGHT = false;


/*****************************
	INTERFACE METHODS
*****************************/

GLCanvas glc;

public void getGLCanvas(GLCanvas glc) {
	this.glc = glc;
}


/*****************************
	KEY PROCESSING
*****************************/


/*****************************
		KEYBOARD EVENTS
*****************************/

public void keyPressed(KeyEvent e) {
	switch(e.getKeyCode()) {
		case KeyEvent.VK_W:
				FORWARD = true;
			break;
		case KeyEvent.VK_S:
				BACKWARD = true;
			break;
		case KeyEvent.VK_A:
				STRAFELEFT = true;
			break;
		case KeyEvent.VK_D:
				STRAFERIGHT = true;
			break;
		case KeyEvent.VK_ESCAPE:
		case KeyEvent.VK_F10:
			System.exit(0);
			break;
	}
			
	glc.repaint();
}

public void keyReleased(KeyEvent e) {
	switch(e.getKeyCode()) {
		case KeyEvent.VK_W:
				FORWARD = false;
			break;
		case KeyEvent.VK_S:
				BACKWARD = false;
			break;
		case KeyEvent.VK_A:
				STRAFELEFT = false;
			break;
		case KeyEvent.VK_D:	
				STRAFERIGHT = false;
			break;
	}
			
	glc.repaint();
}

public void keyTyped(KeyEvent e) {
}


/*****************************
		MOUSE EVENTS
*****************************/

public void mousePressed(MouseEvent e) {
}

public void mouseReleased(MouseEvent e) {
}

public void mouseClicked(MouseEvent e) {
}

public void mouseEntered(MouseEvent e) {
}

public void mouseExited(MouseEvent e) {
}


/*****************************
	MOUSE MOTION EVENTS
*****************************/

public void mouseMoved(MouseEvent e) {
}

public void mouseDragged(MouseEvent e) {
}

}