Mudar o icone da aplicacao

Acho q deva ser trivial, mas como nunca fiz, como mudo o icone da minha app? Quero mudar akele icone da xicara de cafe do Java q aparece tanto do lado superior esquerdo, qto na barra de tarefas, como faco? E p por outro, posso usar img jpeg? vlw…

hlds,

faz assim,

// coloca uma figura na barra de título da janela
URL url = this.getClass().getResource("imagem.png");
Image imagemTitulo = Toolkit.getDefaultToolkit().getImage(url);
this.setIconImage(imagemTitulo);

Tu também podes fazer assim,

ImageIcon imagemTituloJanela = new ImageIcon("imagem.png"); setIconImage(imagemTituloJanela.getImage());

Agora, dá preferência a primeira. Caso você precise empacotar sua aplicação em um arquivo .jar, o segundo exemplo não consegue carregar. Já o primeiro exemplo pega tranquilamente.

3 curtidas

ok, vlw

eu vou colocar num .jar sim, outra coisa, a imagem qnd eu empacotar no jar ficara empactoda nele ou n?

hlds,

sim, ficará empacotada.

so uma ultima duvida, eu tenho q por a imagem junta aos .class, .java ou posso deixar numa pasta a minha escolha?

hlds,

isso fica a sua escolha. Eu sempre crio uma pasta com o nome images e coloco as imagens que irei usar lá.

No meu caso, fica assim:

// coloca uma figura na barra de título da janela URL url = this.getClass().getResource("/images/imagem.png"); Image imagemTitulo = Toolkit.getDefaultToolkit().getImage(url); this.setIconImage(imagemTitulo);

ok, vlw

[quote=Petrônio Braga]hlds,

isso fica a sua escolha. Eu sempre crio uma pasta com o nome images e coloco as imagens que irei usar lá.

No meu caso, fica assim:

// coloca uma figura na barra de título da janela URL url = this.getClass().getResource("/images/imagem.png"); Image imagemTitulo = Toolkit.getDefaultToolkit().getImage(url); this.setIconImage(imagemTitulo);

[/quote]

Amigo, será que poderia me ajudar… estou com o mesmo problema… eu fiz… igual ao seu…
URL url = this.getClass().getResource("/imagens/lanfredi.ico");
Image imagemLanfredi = Toolkit.getDefaultToolkit().getImage(url);
this.setIconImage(imagemLanfredi);

porem, ele dá o seguinte erro
Uncaught error fetching image:
java.lang.NullPointerException
at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)
at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:113)
at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)

Acho que ele nao está achando o caminho da imagem… mais eu coloquei na pasta SRC imagens … como faço ??
obrigado.

Aii Galera eu Consegui fazer… é que a extensão do arquivo era .ico… pra ele pegar mudei para .png … e ai sim!!! fomos surpreendidos novamente!!

Eu tô tentando fazer isso, soh q a minha imagem tah aparecendo muito pequena… não tem um jeito de aumentá-la?

[quote=oitathi]Eu tô tentando fazer isso, soh q a minha imagem tah aparecendo muito pequena… não tem um jeito de aumentá-la?
[/quote]

Olá oitathi… então… o tamanho do meu icone está em 25x25 dá pra visualizar bem…

mais entra nesse site…

http://www.chami.com/html-kit/services/favicon/

faz o upload da imagem… que o proprio site monta um icone com um tamanho padrão, faça o download e depois só ver se fica legal…

abraços

Obrigado, me ajudou muito!!

A classe JFrame tem um método chamado setIconImage.

Você pode passar para ele um IconImage, que se não me engano recebe uma String com o caminho da imagem no disco como parâmetro.

Pessoal eu n to conseguindo fazer da maneira que todos fizeram… está dando erro eu vou mostrar o código:

import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;

import javax.print.DocFlavor.URL;
import javax.swing.*;

import org.omg.PortableInterceptor.SYSTEM_EXCEPTION;

public class Tela_Login extends JFrame {
private static final long serialVersionUID=1;

private JLabel l_titulo, l_login, l_senha;
private JTextField c_login;
private JPasswordField senha_char;
private JButton bt_confirmar, bt_cadastro;
int resposta;

InputMap bla=this.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);


	public Tela_Login(){
		setTitle("Login");
		setBounds(380,180,450,320);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setResizable(false);
		setLayout(null);
		
		
		l_titulo = new JLabel("Para Acessar, Digite Aqui!");
		l_titulo.setBounds(130,30,250,20);
		l_titulo.setFont(new Font("Arial", Font.BOLD, 17));
		this.add(l_titulo);
		
		Font fonte = new Font("Arial", Font.CENTER_BASELINE, 14);
		l_login = new JLabel("Login: ");
		l_login.setBounds(60,95,50,20);
		l_login.setFont(fonte);
		this.add(l_login);
		
		l_senha = new JLabel("Senha: ");
		l_senha.setBounds(60,155,60,20);
		l_senha.setFont(fonte);
		this.add(l_senha);
		
		c_login = new JTextField();
		c_login.setBounds(140,95,200,20);
		this.add(c_login);
		
		senha_char = new JPasswordField();
		senha_char.setBounds(140,155,200,20);
		this.add(senha_char);
		
		bt_confirmar = new JButton("Confirmar");
		bt_confirmar.setBounds(105, 220, 100, 30);
		bt_confirmar.setBackground(new Color(162, 181, 205));
		bt_confirmar.setForeground(Color.WHITE);
		this.add(bt_confirmar);
		
		bt_cadastro = new JButton("Cadastro");
		bt_cadastro.setBounds(245, 220, 100, 30);
		bt_cadastro.setBackground(new Color(162, 181, 205));
		bt_cadastro.setForeground(Color.WHITE);
		this.add(bt_cadastro);
		
		URL url = this.getClass().getResource("Imagens/logo_projeto.png");
		Image imagemTitulo = Toolkit.getDefaultToolkit().getImage(url);
		this.setIconImage(imagemTitulo);
		
		bt_confirmar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent evet){
				if(evet.getSource() == bt_confirmar){;
					if (c_login.getText().equals("") || senha_char.getText().equals(""))
					{	
						JOptionPane.showMessageDialog(null,"Preenchimento Incorreto, Preencha Todos os Campos!");
					}
					else
					{
						dispose();
						Tela_Apresentacao inicio = new Tela_Apresentacao();
						inicio.setVisible(true);
					}			
					c_login.setText("");
					senha_char.setText("");
				}
			}
		});
		
		this.add(bt_confirmar);
		
		bt_cadastro.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				// TODO Auto-generated method stub
				resposta = JOptionPane.showOptionDialog(null,"Deseja Cadastrar?","Cadastro",JOptionPane.YES_NO_OPTION, DISPOSE_ON_CLOSE, null, null, null);
				if (resposta == JOptionPane.YES_OPTION) {
				// verifica se o usuário clicou no botão YES						
					Tela_Cadastro_de_Funcionario func;
					try {
						func = new Tela_Cadastro_de_Funcionario();
						func.setVisible(true);
					} catch (ParseException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}						
					} 
			}
		});

}

public static void main(String[] args) {
	// TODO Auto-generated method stub
	Tela_Login login = new Tela_Login();
	login.setVisible(true);
}

}

estava conseguindo trocar a imagem direto pelo método setTrocarIcone, depois que criei uma classe para chamar o jFrames , nenhuma está dando certo

colega depois que eu coloco a url o programa não aparece mais na tela