我试图将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);
答案 0 :(得分:2)
我将JLayeredPane插入JPanel,然后将JPanel插入到框架中它没有显示JLayeredPane。
JPanel使用FlowLayout,它尊重添加到其中的任何组件的首选大小。
JLayeredPane不使用布局管理器,因此没有首选大小,因此它不会显示在面板上。
组件显示,一切正常,
使用BorderLayout的框架。默认位置是" CENTER"并且中心将根据框架中可用的空间调整分层窗格的大小。
不需要额外的开销,即将分层窗格添加到面板,然后将面板添加到框架。
阅读How to Use Layered Panes上Swing教程中的部分,了解更多信息和工作示例。