Mudar ícone do JFRAME

Bom dia a todos. Estou tentando modificar o ícone do JFrame de acordo com o código abaixo, porém não esta dando certo. Alguém poderia me dar uma dica no que estou errando. Obrigado.

package gui;

import javax.swing.ImageIcon;
import javax.swing.JFrame;

public class JanelaIcone {
    //metodo construtor
    public JanelaIcone(){
        JFrame janela = new JFrame();
        //definindo o tamanho da janela
        janela.setSize(400, 300);
        //título da janela
        janela.setTitle("Construindo Interface gráfica no JAVA");
        //modificando o ícone da janela
        
        ImageIcon icone = new ImageIcon("img/clientes.jpeg");
        janela.setIconImage(icone.getImage());
       //evento para fechar a janela
        janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //tornando a janela visivel
        janela.setVisible(true);
    }
    public static void main(String[]args){
        
        //chamando a janela criada no construtor
        new JanelaIcone();
        
    }
}

Qual erro?

Não aparece a imagem que eu quero.

A imagem está no caminho certo? Para saber isso, imprima:

E veja se a pasta img é mesmo a que você está esperando.

Ou, melhor do que isso, grave a imagem num pacote chamado img. Por exemplo, br.com.guj.img e então pegue a imagem através do método getResource:

Fiz como vc falou coloquei o código abaixo:
System.out.println(new File(“img/clientes.jpeg”).getCanonicalPath());

mas não imprimiu nada.

Tentei alterar o caminho, pois o caminho absoluta da imagem é
ImageIcon icone = new ImageIcon(“E:/Aulas/IFSULDEMINAS - Machado/Semestre/1_de_2013/Cursos/Boa Esperança/TÉCNICO EM INFORMÁTICA SUBSEQUENTE/Linguagem de Programação III/Apresentações/Aula 5/GUI/img/clientes.jpeg”);

Mesmo assim, não deu certo.
Agora como faço para gravar a imagem num pacote chamado img.

Obrigado.