0

我目前正在为使用 JOGL 设计的游戏制作介绍屏幕。我希望介绍是一个 JPanel,有几个按钮可以在开始游戏之前更改选项。

所以,我有 JFrame,我添加了一个 GLCanvas。GLCanvas 还包含一个 GLEventListener。最后,我添加了 JPanel。

我已经重写了 JPanel paintComponent 方法来设置背景图像。我在面板中有几个按钮。每当您单击“播放”按钮时,它都会调用一个函数,该函数执行以下操作:

frame.remove(JPanel); frame.repaint(); 动画师.start();

发生的情况是我的 JPanel 正确消失了,但是当调用 repaint 时,我的框架只是充满了灰色。我知道动画师正在正确启动,因为我的 GLEventListener 中的显示方法被调用。

有谁知道那里有什么问题?

4

1 回答 1

2

你的 LayoutManager 是什么?如果您没有指定一个,那么通过添加 JPanel 来替换 GLCanvas。

我会让你的代码这样做:
frame.remove(JPanel); frame.add(glcanvas); 动画师.start();
您可能需要输入 frame.revalidate()。我现在不知道这一切是如何运作的。

于 2009-05-05T03:50:34.143 回答