#java #swing #opengl
Вопрос:
это мой код, он отображает функцию sin, и проблема в том, что есть дополнительное черное пространство, которое вызывает у меня проблемы, когда я хочу создать программу. это прикрепленный код, который я удаляю, но эта проблема возникает в каждой программе
public static void main(String[] args) {
// TODO Auto-generated method stub
final GLProfile profile = GLProfile.get(GLProfile.GL2);
GLCapabilities Capabilities = new GLCapabilities(profile);
final GLCanvas glcanvas = new GLCanvas(Capabilities);
drawFun T = new drawFun();
glcanvas.addGLEventListener(T);
glcanvas.setSize(400, 400);
final JFrame frame = new JFrame("test");
frame.getContentPane().add(glcanvas);
frame.setSize(400, 400);
frame.setVisible(true);
}
@Override
public void display(GLAutoDrawable arg0) {
// TODO Auto-generated method stub
final GL2 gl = arg0.getGL().getGL2();
// gl.glClearColor(1, 1, 1, 1);
// gl.glClear(GL2.GL_COLOR_BUFFER_BIT);
gl.glColor3f(1f, 1f, 1f);
gl.glBegin(GL2.GL_QUADS);
gl.glVertex2f(-1f,1f);
gl.glVertex2f(1f, 1f);
gl.glVertex2f(1f, -1f);
gl.glVertex2f(-1f, -1f);
gl.glEnd();
gl.getContext();
gl.glColor3f(1f, 0f, 0f);
gl.glBegin(GL2.GL_LINES);
gl.glVertex2f(-1f, 0f);
gl.glVertex2f(1f, 0f);
gl.glVertex2f(0f, 1f);
gl.glVertex2f(0f, -1f);
gl.glEnd();
drawXpow2plus5(gl);
}
Комментарии:
1. Не устанавливайте размер компонентов вручную. Каждый компонент качания должен определять свой собственный предпочтительный размер. Затем вы добавляете компонент в рамку и
pack()
в рамку. Тогда не должно быть дополнительного места, если логика рисования компонентов реализована правильно.