NetBeans RCP + LWJGL ...无法正确调整窗口(顶部组件)的大小

时间:2013-09-10 14:50:52

标签: lwjgl netbeans-platform

我正在尝试在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);
    }
}

任何想法为什么调整大小(缩小)不起作用?

1 个答案:

答案 0 :(得分:0)

问题解决了...... LWJGL使用canvas来渲染... canvas必须将最小大小设置为0 ... myCanvas.setMinimumSize(new Dimension(0,0))