與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