将JLayeredPane添加到JPanel

时间:2015-04-09 15:30:14

标签: java swing jframe jpanel jlayeredpane

我试图将JLayeredPane插入JPanel。当我将JLayeredPane插入到框架中时,组件显示并且一切正常,但是当我将JLayeredPane插入JPanel然后将JPanel插入框架时它不会显示JLayeredPane。

我的代码:

button1.setBounds(0, 0, 100, 100);
button2.setBounds(50, 50, 100, 100);
layer.add(button1,1);
layer.add(button2,0);
panel.add(layer);
this.add(panel);
this.setVisible(true);

1 个答案:

答案 0 :(得分:2)

  

我将JLayeredPane插入JPanel,然后将JPanel插入到框架中它没有显示JLayeredPane。

JPanel使用FlowLayout,它尊重添加到其中的任何组件的首选大小。

JLayeredPane不使用布局管理器,因此没有首选大小,因此它不会显示在面板上。

  

组件显示,一切正常,

使用BorderLayout的框架。默认位置是" CENTER"并且中心将根据框架中可用的空间调整分层窗格的大小。

不需要额外的开销,即将分层窗格添加到面板,然后将面板添加到框架。

阅读How to Use Layered Panes上Swing教程中的部分,了解更多信息和工作示例。