Como adicionar ícone na janela

6 respostas
hostdesigner

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...
/*
 * 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 );
        
        
        
        
        
    }
}

6 Respostas

wagne23

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!

hostdesigner

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

Falopa!

netShot
import java.awt.Toolkit;
hostdesigner

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)

Ainda dá erro…

Falopa!

netShot

faz assim ó :

import java.awt.Toolkit;

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

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!

Criado 21 de julho de 2008
Ultima resposta 21 de jul. de 2008
Respostas 6
Participantes 3