If a JLabel, that has been constructed with a ImageIcon, is added to a container with BorderLayout and is set to the the position center, its positioned at the left side, and not in the center as it should be. here the sollution how to change this: change this constructor in JLabel: public JLabel(Icon image) { this(null, image, LEADING); } to this one: public JLabel(Icon image) { this(null, image, CENTER); }