我在JFrame中有一个JDesktopPane desktopPane
。我希望这个桌面窗格仅占用一定的空间,以便用户可以看到JFrame右侧的内容。我尝试将方法setBounds(...)
和setPreferredSize(..)
与desktopPane
一起使用,但无法获得所需的结果。 desktopPane占用整个框架,未使用的空间显示desktopPane.setBackground(..)
定义的背景颜色。有什么方法可以让JDesktopPane只占用JFrame中所需的空间?
答案 0 :(得分:2)
JFrame
使用BorderLayout
,其默认(CENTER
)位置将占用尽可能多的可用空间。
JDesktopPane
的首选大小通常为0x0
,这样可以很好地使用。
您可以尝试其他布局管理器,但您需要首先克服默认首选大小的问题。
有关详细信息,请参阅Laying Out Components Within a Container
问题是,为什么? MDI通常希望占据屏幕空间的大部分份额。