我正在尝试向JPanel插入JLayeredPane。当我将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);

最佳答案

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


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

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


  组件显示出来,一切都很好,


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

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

阅读有关How to Use Layered Panes的Swing教程中的部分,以获得更多信息和工作示例。

关于java - 将JLayeredPane添加到JPanel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29542812/

10-12 06:20