program-o-steve program-o-steve - 1 year ago 179
Java Question

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

I am not clear about what is the difference between

what would happen if i use
instead of

And what exactly does
method do ?

Answer Source

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