我在JFrame中有一个JDesktopPane desktopPane
。我希望此桌面窗格仅占据一定的空间,以便用户可以看到JFrame右侧的内容。我尝试将方法setBounds(...)
和setPreferredSize(..)
与desktopPane
一起使用,但无法获得所需的结果。 desktopPane占据整个框架,未使用的空间显示背景颜色,如desktopPane.setBackground(..)
所定义。有什么方法可以使JDesktopPane仅占据JFrame中所需的空间?
最佳答案
JFrame
默认情况下使用BorderLayout
,其默认(CENTER
)位置将要占用尽可能多的可用空间。JDesktopPane
通常具有0x0
的首选大小,这使其可以很好地使用。
您可以尝试其他布局管理器,但是首先需要克服默认首选大小的问题。
有关更多详细信息,请参见Laying Out Components Within a Container
问题是,为什么呢? MDI通常希望占据屏幕不动产的最大份额。
关于java - JDesktopPane占据了整个JFrame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27458779/