我正在尝试将带有OpenGL内容的GLCanvas添加到JPanel。 JPanel位于JTabbedPane中。但是当GLCanvas在JPanel中时,Panel就是灰色的。当我将GLCanvas直接添加到TabbedPane中时,一切正常。
这是工作代码:
JTabbedPane mainPane = frame.getMainPane();
GLCanvas canvas = cogl.getCanvas();
mainPane.add("OGL",canvas);
这是无效代码:
JTabbedPane mainPane = frame.getMainPane();
GLCanvas canvas = cogl.getCanvas();
JPanel panel = new JPanel();
panel.add(canvas);
mainPane.add("OGL",panel);
那么我怎样才能让GLCanvas在JPanel中工作?
答案 0 :(得分:4)
似乎问题LayoutManager
,JPanel
使用FlowLayout
默认情况下将其更改为BorderLayout
,如下所示:
JPanel panel = new JPanel(new BorderLayout());