Problema com imagens em Jcombobox

Olá…
Estou tento um problema com uma combobox, eu até consegui colocar imagens nela… o que me acontece é que a combobox só mostra todas as 4 imagens como a mesma de um index só, se mudar o index muda as 4 pra mesma imagem deste outro index.
Quero q apareça as 4 diferentes, mas não achei o que fazer, procurei muito na internet, vi uns posts aqui no GUJ, mas não consegui fazer ainda…

Alguma sugestão?

package View;

import java.awt.*;
import java.net.URL;
import javax.swing.*;
import static javax.swing.SwingConstants.CENTER;

public class Start extends JFrame {
    String[] diceStrings = {"Red", "Blue", "Yellow", "Sword"};
    Integer[] intArray = new Integer[diceStrings.length];
    ImageIcon[] images = new ImageIcon[diceStrings.length];
    
    public Start() {
       for (int i = 0; i < diceStrings.length; i++) {
            intArray[i] = i;
            images[i] = createImageIcon("/IMGS/" + diceStrings[i] + ".png");
        }
        initComponents();
        ComboBoxRenderer renderer = new ComboBoxRenderer();
        renderer.setPreferredSize(new Dimension(35, 50));
        diceList.setRenderer(renderer);
        diceList.setMaximumRowCount(4);
    }
protected static ImageIcon createImageIcon(String path) {
        URL imgURL = Start.class.getResource(path);
        if (imgURL != null) {
            return new ImageIcon(imgURL);
        } else {
            System.err.println("Couldn't find file: " + path);
            return null;
        }
    }
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        diceList = new JComboBox(intArray);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        diceList.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "1", "2", "3", "4" }));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(94, 94, 94)
                .addComponent(diceList, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(520, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(57, 57, 57)
                .addComponent(diceList, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(427, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>                        
    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Start().setVisible(true);
            }
        });
        
    }

    
class ComboBoxRenderer extends JLabel implements ListCellRenderer {

        public ComboBoxRenderer() {
            setOpaque(true);
            setHorizontalAlignment(CENTER);
            setVerticalAlignment(CENTER);
        }

        public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
            int selectedIndex = diceList.getSelectedIndex();
            ImageIcon icon = images[selectedIndex];
            setIcon(icon);
            return this;
        }
    }
    // Variables declaration - do not modify                     
    private javax.swing.JComboBox<String> diceList;
    // End of variables declaration                   
}

Já até agradeço se alguém responder ^^