Java层JPanels
我需要分层JPanel,但我不知道如何分层。我有3个面板,第一个是背景,第二个是角色/精灵在第一个面板上移动并分层(背景,第三个是侧边的一个条(用于按钮,与它们的层无关)。如何分层面板1和面板2 编辑:背景由25x25个标签组成的网格组成,每个标签上都有一个图标。请参阅 不要忘记使用:Java层JPanels,java,swing,background,jpanel,jlayeredpane,Java,Swing,Background,Jpanel,Jlayeredpane,我需要分层JPanel,但我不知道如何分层。我有3个面板,第一个是背景,第二个是角色/精灵在第一个面板上移动并分层(背景,第三个是侧边的一个条(用于按钮,与它们的层无关)。如何分层面板1和面板2 编辑:背景由25x25个标签组成的网格组成,每个标签上都有一个图标。请参阅 不要忘记使用: panel.setOpaque(false); 或者您不需要对面板进行分层。您只需在面板上绘制背景图像即可。有关此示例,请参见。一些选项: 使用JLayeredPane,它可以使用z阶整数常量对组件进行分层。
panel.setOpaque(false);
或者您不需要对面板进行分层。您只需在面板上绘制背景图像即可。有关此示例,请参见。一些选项:
- 使用JLayeredPane,它可以使用z阶整数常量对组件进行分层。请记住,执行此操作时,您实际上也使用了空布局,因此您将完全负责设置添加到JLayeredPane的所有组件的大小和位置
- 如果背景所做的只是绘制图像,则可以使用单个JPanel,然后简单地将图像绘制为显示在JPanel的paintComponent方法中的BuffereImage。也会绘制精灵,但其位置会有所不同
绘制(…)中的绘制之外,我同意这一点
method。此方法负责绘制组件、其边框和子组件,如果您不想冒险将后两个考虑因素(边框和子组件)的错误绘制弄乱,通常最好使用JPanel的paintComponent(Graphics g)
方法进行绘制。