我正在尝试在 NetBeans RCP 应用程序中使用 lwjgl。我将自己的 AWTGLCanvas 添加到我的窗口顶部组件中。问题是当我尝试缩小窗口大小时调整大小不起作用(请参见此处的图片http://i.stack.imgur.com/MKw2n.png)
我的 GLCanvas 在这里实现:
public class GLCanvas extends AWTGLCanvas
{
public GLCanvas() throws LWJGLException
{
}
@Override
protected void paintGL()
{
try
{
glViewport(0, 0, getWidth(), getHeight());
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0f, (float) getWidth(), 0.0f, (float) getHeight());
glMatrixMode(GL_MODELVIEW);
paintLine();
swapBuffers();
}
catch (Exception e)
{
}
}
private void paintLine()
{
glPushMatrix();
glColor3f(0f, 1f, 0f);
glTranslatef(getWidth() / 2f, getHeight() / 2f, 0f);
glLineWidth(1f);
glBegin(GL_LINE_STRIP);
glVertex2f(-getWidth() * 0.4f, 0f);
glVertex2f(getWidth() * 0.4f, 0f);
glEnd();
glPopMatrix();
}
}
我在构造函数中将我的 GLCanvas 添加到我的窗口 TopComponent 中:
public MyGLTopComponent()
{
setLayout(new GridLayout(1,1));
try
{
GLCanvas glCanvas = new GLCanvas();
add(glCanvas);
}
catch (LWJGLException ex)
{
Exceptions.printStackTrace(ex);
}
}
知道为什么调整大小(缩小)不起作用吗?