program-o-steve program-o-steve - 4 months ago 49
Java Question

setSize() v/s setPreferredSize() and pack()

I am not clear about what is the difference between

setSize()
and
setPreferredSize()
.
what would happen if i use
setSize()
instead of
setPreferredSize()
.




And what exactly does
pack()
method do ?

Answer

Calling pack() on a window will size it based on the preferredSize of its containing components. It will be as small as possible but taking into account the preferredSize and layout of its components. If you just randomly use frame.setSize(), then the components added to the content pane will expand/contract to fit the space available, which means the preferred size of each component may be overridden.

setSize() sets the size of the component and setPreferredSize sets the preferred size.The Layoutmanager will try to arrange that much space for your component. It depends on whether you're using a layout manager or not ...

See Java: Difference between the setPreferredSize() and setSize() methods in components