【发布时间】:2012-07-10 10:13:01
【问题描述】:
我试图防止 JPanle 变得如此之小以至于它会切断它的子组件,是否有强制执行此操作?在阅读this 之后,我尝试了(在 jython 中):
frame= JFrame('example', size=(200,200))
pan = JPanel()
pan.add(JLabel('beer'))
pan.add(JButton('get one', actionPerformed=printer))
pan.setMinimumSize(panel.getPreferredSize())
frame.add(pan)
frame.visible = True
但是,即使我将最小尺寸应用于框架,面板仍然可以缩小到切断其组件(在 JFrame 或 here 中)。如何防止这种情况发生? (我假设我得到的首选大小不是我想要的,因为使用默认布局管理器它似乎是最大子组件的大小,但如果我将其更改为例如 GridBagLayout 它似乎变得更小 9apply minsize to frame并尝试)
【问题讨论】:
-
你想要的行为是什么?你想让 JFrame 拒绝缩小,你想让滚动条出现在边缘,还是别的什么?
-
我希望 JFrame/面板(想想 Frame 中的多个面板)拒绝收缩。对于滚动条,我知道
JScrollPane。问题是,如果我以同样的方式在框架上使用setMinimumSize,它仍然会变得如此之小以至于按钮将被切断(如果我将minimumSize应用于frame而不是面板,则标签始终完全可见