JPanel类设置大小的方法

本人软件工程专业大二dog一条java初学者,菜鸟一个。最近学习做了xp画图板,在设置JPanel的大小的时候,用到了setPreferredSize方法,旁边的同学问我,不可以用setSize()方法吗?我就说你查下javaAPI,JPanel没有setSize()这个方法肯定是不能用的,我其实也没考虑太多,老师是用的setPreferredSize,而没有用setSize,而且之后老师说不能用setSize方法,大概应该JPanel里没有setSize()这个方法吧,回去后我还是查了API,发现JPanel类居然有2个setSize()方法,不禁纳闷,为什么明明有setSize而不能用呢?于是乎,我便用这2个setSize()方法设置了面板的大小,但是发现无论如何改变setSize()的参数,或者注释掉这setSize方法,其宽度高度均不发生任何改变,为窄窄的一条且不发生改变,,由此确认了不能用setSize方法设置,但为什么不能设置?我上网查阅了资料,很快了解原因,setSize()是手动设置组建的大小。Dimension类封装对象中组建的宽度和高度(精确到整数)。实用布局管理器时,必须使用setPreferredSize设置组件的大小 ,在使用布局管理器的时候(BorderLayout layout =new BorderLayout();jf.setLayout(layout);前面指定了窗口的布局为边框布局),不适用setSize(),因为布局管理器会自动调用组件的setSize()方法设置组件的大小。即时用户调用 setSize方法设置组件大小,最终可能被覆盖

你可能感兴趣的:(java)