import java.awt.*;
import javax.swing.*;
import javax.swing.border.Border;

public class ImageLabel {
  
  private static JLabel createLabel(int vertical, int horizontal,Icon icon,Border border) {
    JLabel label = new JLabel("texte", icon, SwingConstants.CENTER);
    label.setVerticalTextPosition(vertical);
    label.setHorizontalTextPosition(horizontal);
    label.setBorder(border);
    
    label.setBackground(Color.YELLOW);
    label.setOpaque(true);
    return label;
  }
  
  public static void main(String[] args) {
    
    Icon icon = new ImageIcon("soccer.gif");
    Border border=BorderFactory.createLineBorder(Color.BLACK);
    
    JLabel[] labels=new JLabel[] {
      createLabel(JLabel.TOP, JLabel.LEFT,icon,border),
      createLabel(JLabel.TOP, JLabel.CENTER,icon,border),
      createLabel(JLabel.TOP, JLabel.RIGHT,icon,border),
      createLabel(JLabel.CENTER, JLabel.LEFT,icon,border),
      createLabel(JLabel.CENTER, JLabel.CENTER,icon,border),
      createLabel(JLabel.CENTER, JLabel.RIGHT,icon,border),
      createLabel(JLabel.BOTTOM, JLabel.LEFT,icon,border),
      createLabel(JLabel.BOTTOM, JLabel.CENTER,icon,border),
      createLabel(JLabel.BOTTOM, JLabel.RIGHT,icon,border)
    };

    labels[0].setEnabled(false);
    labels[2].setIconTextGap(40);

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    JPanel panel=new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 5));
    panel.setBackground(Color.BLUE);
    for (int i=0; i<labels.length;i++)
      panel.add(labels[i]);
    frame.setContentPane(panel);
    
    frame.setSize(300,250);
    frame.setVisible(true);
  }   
}