Diferente imageIcon en diferentes celdas en JTable

Creo que conseguí que el imageIcon se muestre de manera diferente en cada celda, pero por alguna razón, cuando lo compilo, las imágenes no aparecen. Muestra el nombre de la imagen, pero la imagen en sí no aparece. Aquí hay una imagen.http://i49.tinypic.com/r9ibrn.jpg

public class movies extends JFrame {

    public movies() {
    initComponents();

 }      

private void initComponents() {

    panel = new JPanel();
    logo = new JLabel();
    pane = new JScrollPane();


    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setBackground(new Color(255, 255, 204));
    setResizable(false);

    panel.setBackground(new Color(51, 51, 51));
    panel.setPreferredSize(new Dimension(290, 75));

    logo.setIcon(new ImageIcon(getClass().getResource("logo.png"))); 
    logo.setName("logo");
    logo.setRequestFocusEnabled(false);
    logo.setVerifyInputWhenFocusTarget(false);
    logo.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));


    ImageIcon icon1 = new ImageIcon("1.jpg");
    ImageIcon icon2 = new ImageIcon("2.jpg");
    ImageIcon icon3 = new ImageIcon("3.jpg");

    String[] columnNames = {"Section 1", "Section 2"};
    Object[][] data =
    {
        {icon1 + " Music", icon2 + " News"},
        {icon2 + " Movies"},
        {icon3 + " Games"},
    };

    DefaultTableModel model = new DefaultTableModel(data, columnNames);
    JTable table = new JTable( model )

    {
            public Class getColumnClass(int column)
        {
            return getValueAt(0, column).getClass();
        }
    };


    table.setPreferredScrollableViewportSize(table.getPreferredSize());

    table.setBackground(new Color(255, 255, 204));
    JScrollPane scrollPane = new JScrollPane( table );
    getContentPane().add( scrollPane );

    table.setRowHeight(50);
    pane.setViewportView(table);
    table.getColumnModel().getColumn(0).setResizable(false);
    table.getColumnModel().getColumn(1).setResizable(false);
}


public static void main(String args[]) {


        public void run() {
            new movies().setVisible(true);

        }
    });
}

private JLabel logo;
private JScrollPane pane;
private JPanel panel;

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta