1

我需要对 JPanel 进行分层,但我不知道如何。我有 3 个面板,第一个用于背景,第二个用于角色/精灵移动并分层第一个面板(背景,第三个是侧面的条(用于按钮,无关)与他们层)。我如何分层面板 1 和面板 2?

编辑:背景由 25x25 标签的网格组成,每个标签都有一个图标。

4

3 回答 3

2

一些选项:

  • 使用 JLayeredPane,它可以使用 z 顺序整数常量对组件进行分层。请记住,在执行此操作时,您实际上也是在使用空布局,因此您将完全负责设置添加到 JLayeredPane 的所有组件的大小和位置。
  • 如果所有背景都在绘制图像,则可以使用单个 JPanel,然后简单地将图像绘制为 BufferedImage,该图像显示在 JPanel 的 paintComponent 方法中。精灵也会被绘制,但它的位置会有所不同。
于 2013-05-19T04:48:23.903 回答
1

请参阅如何使用分层窗格

不要忘记使用:

panel.setOpaque(false);

或者您不需要对面板进行分层。您可以在面板上绘制背景图像。有关此示例,请参见背景面板。

于 2013-05-19T04:47:51.893 回答
0

我们最近刚刚为我的 CSC 课程制作了一个自上而下的视频游戏。我们所做的只是绘制背景,然后在 JPanel 的 paint() 方法中绘制所有精灵。我们还使用了 Timer 和 ActionListener 来不断更新 JPanel。

于 2013-05-19T05:35:40.850 回答