0

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

知道为什么调整大小(缩小)不起作用吗?

4

1 回答 1

0

问题已解决 .. LWJGL 使用画布渲染 ... 画布必须将最小尺寸设置为 0 ... myCanvas.setMinimumSize(new Dimension(0, 0))

于 2013-09-12T10:44:25.960 回答