Como adicionar ícone na janela

Estou tentando adicionar um ícone na janela mas, nunca aparece a imagem que defini como ícone.
Para exemplificar as coisas este é um exemplo do código que escrevi

OBS.: Estou aprendendo, então quanto mais simples for a solução melhor…

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package aplicacao;

import javax.swing.*;

/**
*

  • @author John-Henrique
    */
    public class Main {

    /**

    • @param args the command line arguments
      */
      public static void main(String[] args) {
      // TODO code application logic here

      janela();
      }

    public static void janela() {

     JLabel rotulo = new JLabel();
     
     JFrame meuFrame = new JFrame( "Nome da janela" );
     
     JDesktopPane painelDesktop = new JDesktopPane();
     
     meuFrame.add( painelDesktop );
     
     
     /**
      * Adicionando o ícone
      */
     ImageIcon iconePersonalizado = new ImageIcon( "images/icone.gif" );
     meuFrame.setIconImage( iconePersonalizado.getImage() );
     
     
     /**
      * Janela interna
      */
     JInternalFrame janelaInterna = new JInternalFrame();
     
     janelaInterna.setClosable( false );
     janelaInterna.setIconifiable( false );
     janelaInterna.setResizable( false );
     janelaInterna.setTitle( "Janela Interna" );
     janelaInterna.setFocusable( true );
     
     
     painelDesktop.add( janelaInterna );
     
     
     janelaInterna.setVisible( true );
     janelaInterna.setSize( 400, 500 );
     janelaInterna.setLocation(300,300);
     
     meuFrame.setSize( 800, 600 );
     meuFrame.setVisible( true );
    

    }
    }
    [/code]

Cara eu sempre uso esse codigo no construtor da minha classe:

Image iconePersonalizado= Toolkit.getDefaultToolkit().getImage("image/icon.gif"); this.setIconImage(iconePersonalizado);

Tenta ai e depois fala se funcionou. Abraços!

Preciso de alguma biblioteca pra usar este código? Aqui dá erro.

Falopa!

import java.awt.Toolkit;

[quote]C:\NetBeansProjects\aplicacao\src\aplicacao\Main.java:46: incompatible types
found : java.awt.Image
required: javax.swing.ImageIcon
ImageIcon iconePersonalizado= Toolkit.getDefaultToolkit().getImage(“image/icon.gif”);

C:\NetBeansProjects\aplicacao\src\aplicacao\Main.java:47: cannot find symbol
symbol : method setIconImage(javax.swing.ImageIcon)
location: class javax.swing.JFrame
meuFrame.setIconImage(iconePersonalizado);
2 errors
FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

[/quote]Ainda dá erro…

Falopa!

faz assim ó :

import java.awt.Toolkit;

seuFrame.setIconImage(Toolkit.getDefaultToolkit().getImage(SuaClasse.class.getResource("/pacote/imagem.a.utilzar")));

Funcionou mas, não funciona com imagens GIF transparente. Como são feitos os ícones com fundos transparentes?

Ou melhor dá erro com GIF transparente e com PNG transparente fica um fundo cinza onde deveria ser transparente.

Falopa!