Coloca imagem joptionpane, como proceder?

Pessoal, estou tentando colocar uma imagem em meus jotionpane de salvar, mas não estou conseguindo.

int p = JOptionPane.showConfirmDialog(null, "Você deseja realmente salvar?", "Salvar", JOptionPane.YES_NO_OPTION);
if (p == 0) { condição}

Estrutura do JOptionPane -> JOptionPaneshowMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon);

Montado:
JOptionPane.showMessageDialog(null, "Mensagem Aleatória", "Título da Mensagem", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("images/meuIcone.png"));

mas e no caso para confirma? caso a pessoa der sim, salvar se não, não salvar? pq o meu é um ConfirmDialog

É o mesmo processo! independente do tipo da mensagem a estrutura é igual.

Exemplo:

int op = JOptionPane.showConfirmDialog(null, "Confirma o cadastro ?", "Cadastro", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, new ImageIcon("icones/confirm.png"));
    
        if (op == 0) {
            try {
                //SALVAR
                JOptionPane.showMessageDialog(null, "Salvo com sucesso!", "Salvo", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("icones/ok.png"));
            } catch (Exception ex) {
                //ERRO
                JOptionPane.showMessageDialog(null, "Erro ao salvar!", "Erro", JOptionPane.INFORMATION_MESSAGE, new ImageIcon("icones/erro.png"));;
            }
        }

Buenas @Lucas16

Segue o exemplo do @Jonathan_Medeiros que está correto,
porém não esqueça de inserir o .png do icon dentro do seu projeto!

abraço!

Jhonatan, eu fiz conforme oq vc disse, mas mesmo assim a imagem não deu certo. será que é pq estou usando o MDI?

deu certo jhonatan, coloquei assim na imagem “ImageIcon(this.getClass().getResource(”/images/icon.jpeg"))" e deu certo