我在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/

10-12 04:38