Aligning all panel components java
I am using the BoxLayout layout manager 开发者_如何学Goin java, and have aligned a bunch of components:
myLabel.setAlignmentX(Component.LEFT_ALIGNMENT);
myTextBox.setAlignmentX(Component.LEFT_ALIGNMENT);
myButton.setAlignmentX(Component.LEFT_ALIGNMENT);
...
I have a lot of components, and this seems over the top. Is there a shorthand way?
I tried the following, but setAlignmentX isn't a method inside Component?
for (Component c : personPanel.getComponents()) {
c.setAlignmentX(Component.LEFT_ALIGNMENT);
}
setAlignmentX
is defined in JComponent
.
You could cast after checking:
for (Component c : personPanel.getComponents()) {
if(c instanceof JComponent) {
((JComponent)c).setAlignmentX(Component.LEFT_ALIGNMENT);
}
}
If you have nested your components, it might be necessary to make a recursive method out of that.
精彩评论