Java Swing的setMaximumSize方法无法正常工作

9

可能重复:
setMaximumSize在Java中无法工作

我正在处理我的JFrame子类的问题。我需要设置最大高度。

但是setMaximumSize不起作用。这似乎是java的一个bug(setMinimumSize有效)。如何防止JFrame超过给定高度?


好的。我在我的JFrame上使用了setMaximumSize。但是我仍然可以将JFrame放大到我设置的限制之上。 - Matthieu Riegler
你可能会对以下网址感兴趣:https://dev59.com/LlHTa4cB1Zd3GeqPSIb3 - simchona
是的,我已经看过这个页面了。但是对于我的问题还没有解决方案 :) - Matthieu Riegler
它确实有效,我有工作示例。 - Ozzy
2个回答

6

根据我的经验,setMinimumSize和setMaximumSize不够可靠-它们可能在某些情况下运行,但通常在其他情况下不起作用。

最好的解决方案是使用ComponentListener,实现componentResized,并通过这种方式强制执行min / max size。


你能详细说明一下吗?如何通过捕获调整大小事件来强制执行最小/最大尺寸?据我所知,这些事件被触发为通知,并不能帮助实施尺寸限制。 - Lieuwe

5
请使用这个替代/同时使用:
setPreferredSize(new Dimension(width, height));

根据我的经验,setPreferredSize(Dimension)是首选且总是有效的。

我通常都会使用它们: setMinimumSize(), setMaximumSize(), setPreferredSize(),以及 setSize()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接