我正在尝试在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);
}
}
任何想法为什么调整大小(缩小)不起作用?
答案 0 :(得分:0)
问题解决了...... LWJGL使用canvas来渲染... canvas必须将最小大小设置为0 ... myCanvas.setMinimumSize(new Dimension(0,0))