与setMinimumSize()一同讨论。顾名思义,这两个函数用于设置窗体的最大、最小值。然而测试发现,setMaximumSize()直接做用于JFrame时,没法实现其预约功能,setMinimumSize()功能正常。java
测试代码以下:函数
import java.awt.Dimension; import javax.swing.JFrame; /* * 2015-06-17 */ public class SetMaximumSizeDemo extends JFrame { public static void main(String[] args) { // TODO Auto-generated method stub SetMaximumSizeDemo setMaximumSizeDemo = new SetMaximumSizeDemo(); setMaximumSizeDemo.setMaximumSize(new Dimension(300, 300)); setMaximumSizeDemo.setMinimumSize(new Dimension(100, 100)); setMaximumSizeDemo.setBounds(100, 100, 200, 100); setMaximumSizeDemo.setVisible(true); } }
运行效果图以下:测试
图1 默认尺寸200x100google
图2 最小尺寸100x100spa
图3 放大尺寸,超过300x300code
google发现,setMaximumSize()确实是bug,参见:JDK-6464548 : Reopen 6383434: Frame.setMaximumSize() doesn't workblog
固然,也有人认为这两个函数都不可靠Java swing setMaximumSize not working。事件
所以,笔者认为,若是确实想要对窗体或控件的最大、最小进行控制,须要在窗体的事件响应中来实现。get