Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/06/2010, 13:16
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: cavas (awt) puede dibujar sobre JOGL?

Ok, voy mucho mas adelantado. Puedo generar un evento sobre el canvas para escribir un texto. Ahora la cuestion es como actualizar ese texto!

Así obtengo el canvas y defino un eventListener:
Cita:
/*** Check for OpenGL ***/
try
{
Class.forName("javax.media.opengl.GLCanvas");
openGLAvailable = true;
JOGLdrawer = canvas.getCanvasDrawer();
GLCanvas gCanvas = (GLCanvas)((GLCanvasDrawer)JOGLdrawer).getGLCanvas ();

// GLCanvasDrawer Event
gCanvas.addGLEventListener(new CanvasListener());

} catch(Exception e){}
Cita:
private class CanvasListener implements GLEventListener
{
public void init(GLAutoDrawable drawable)
{
Font font = view.getComponent().getFont();
renderer = new TextRenderer(font);
renderer.setColor(ViewerCanvas.lineColor);
}

public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height)
{
}

public void display(GLAutoDrawable drawable)
{
// draw text for JOGL
renderer.beginRendering(drawable.getWidth(), drawable.getHeight());
renderer.draw(selectedMessage, 70, drawable.getHeight()-45);
renderer.draw(statsMessage, drawable.getWidth()-175, drawable.getHeight()-45);
renderer.endRendering();
}

public void displayChanged(GLAutoDrawable drawable, boolean arg1, boolean arg2)
{
}
}
Las variables selectedMessage y statMessage se van actualizando, pero como puedo hacer para reflejar esos cambios en pantalla?