You should set the x alignment of each component. From the java tutorial: "In general, all the components controlled by a top-to-bottom BoxLayout object should have the same X alignment.".
So you should add this line:
label.setAlignmentX(Component.CENTER_ALIGNMENT);