Re: JButton sizing ?



Tony B wrote:
Having got my cardlayout working (see earlier post), I am now trying to
understand layout of components better.

I created a JPanel with a JTextfield across the top of the panel, full
width, and one JButton below on the right. I'm using a borderlayout, with
the textfield set PAGE_START, and button set LINE_END.
The basic arrangement is as expected, with the textfield across the top,
and the button below on the right. My problem is the button vertically
fills the whole pane from below the textfield to the bottom of the pane.
What I want to is fix the height of the button so it's fixed. and doesn't
grow as the pane is resized.
I've tried using
button.setMaximumSize(new Dimension (150,10)) ;
button.setMinimumSize(new Dimension (150,10)) ;
button.setPreferredSize(new Dimension (150,10)) ; to try to force
the size but these are ignored.

Is this possible ?
Yes, but not with BorderLayout alone. The trick is to use nested JPanels,
each with its own different layout manager.
A good tutorial describing this technic is
"Effective Layout Management: Short Course"
http://java.sun.com/developer/onlineTraining/GUI/AWTLayoutMgr/shortcourse.html
With proper use of layout managers you should never need to call
setMaximumSize/setMinimumSize/setPreferredSize

--
Thomas
.


Quantcast