java – 使用具有null布局的JPanel
作者:互联网
所以我有一个名为CalendarPanel的类,它扩展了JPanel.它使用null布局.我如何使用CalendarPanel作为常规组件?当我把它放在另一个JPanel然后将其添加到窗口时,它就会消失.它只有在我直接添加到窗口时才可见.
编辑:
是的,我意识到使用带有空布局的JPanel是不好的做法. CalendarPanel实际上是别人的代码,我试图将它用于我的目的,而不必重构它.
解决方法:
It is only visible when I add it directly to a window.
这是因为窗口默认使用BorderLayout,并会自动调整面板大小以适应窗口.
When I put it in another JPanel and then add it to a window, it disappears.
这是因为JPanel默认使用FlowLayout,流布局遵循添加到其中的组件的首选大小.由于您使用的是null布局,因此面板没有首选大小,因此不会绘制任何内容.
这就是为什么你不应该使用null布局.而是使用布局管理器,因为它们为您完成所有这些额外的工作.
标签:null-layout-manager,java,swing,css-position,layout-manager 来源: https://codeday.me/bug/20191001/1838384.html