Re: How to align swing buttons vertically ?
On Sun, 13 Nov 2011 18:28:44 +0100, Olivier Scalbert wrote:
On 11/13/2011 03:38 PM, Martin Gregorie wrote:
That's nothing to do with the layout. It aligns the objects you're
laying out by doing its best with the sizes of the objects you created.
JButton inherits size setting methods (setMaximumSize, setMinimumSize,
setPreferredSize) from JComponent. Use them to control button size.
Perhaps I have not understand, but with the following code, buttons are
not well aligned:
They aligned as I'd expect:
- btnPanel is sized to contain the buttons and nothing else
and is placed as you asked, on the east side of the content pane.
- The buttons have their centres aligned.
I don't understand what you mean by "not well aligned":
- If you want the buttons to appear as other than a close-packed block,
take a look at "How to use BoxLayout" in the Java tutorial. It is also
referenced from the the class description in the BoxLayout javadocs
entry.
- If you want all buttons to be the same size, use a custom class in
place of JButton:
import java.awt.*;
import javax.swing.*;
class MyButton extends JButton
{
public MyButton(String label)
{
super(label);
Dimension d = new Dimension(120, 30);
setMinimumSize(d);
setMaximumSize(d);
setPreferredSize(d);
}
}
--
martin@ | Martin Gregorie
gregorie. | Essex, UK
org |