Java GUI setSize()、setPreferredSize()的区别

setSize()、setPreferredSize()都可以设置组件的大小,但二者的使用有所不同。

 

1、setSize()的使用方式

  • setSize(int width,int height)
  • setSize(Dimension d)

 

2、setPreferredSize()的使用方式

  • setSize(Dimension d)

 

 

setPreferredSize()是设置首选尺寸。一般情况下:

  • 如果该组件受布局管理器管理(使用默认的也算),需要使用setPreferredSize()设置尺寸,setSize()无效。
  • 如果该组件不受布局管理器管理,需要使用setSize(),setPreferredSize()无效。

比如:

JFrame设置了布局管理器,往JFrame中添加一个JLabel,JLabel受布局管理器管理,需要使用setPreferredSize(),setSize()无效。受指的是JLabel,不是布局管理器所在的容器JFrame,JFrame没有受到布局管理器的管理,要使用setSize()。

是说该组件受到布局管理器的管理,不是说该组件本身设置了布局管理器。

 

 

3、Dimension的使用方式

构造函数:

  • Dimension(int width,int height)     //只能是int ,不能是double

常用方法:

  • getWidth/Height()       //返回值均为double。也可直接访问属性width、height。
  • setSize(int width,int height)   //不能单独设置其中一个
  • setSIze(double width,double height)

 

点赞