標籤:
與setMinimumSize()一同討論。顧名思義,這兩個函數用於設定表單的最大、最小值。然而測試發現,setMaximumSize()直接作用於JFrame時,無法實現其預定功能,setMinimumSize()功能正常。
測試代碼如下:
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 預設尺寸200x100
圖2 最小尺寸100x100
圖3 放大尺寸,超過300x300
google發現,setMaximumSize()確實是bug,參見:JDK-6464548 : Reopen 6383434: Frame.setMaximumSize() doesn‘t work
當然,也有人認為這兩個函數都不可靠Java swing setMaximumSize not working。
因此,筆者認為,如果確實想要對表單或控制項的最大、最小進行控制,需要在表單的事件響應中來實現。
Swing-setMaximumSize()用法-入門