| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2009 01:02:52
|
sheldon
Entusiasta Java
![[Avatar]](/images/avatar/c59a5541c6a6abcbdca997b154dfaa3e.jpg)
Membro desde: 23/12/2008 09:55:38
Mensagens: 16
Localização: goiânia
Offline
|
[b]Bom, eu fiz uma aplicação Desktop em JAVA, e nesta aplicação eu coloquei uma imagem... mas qdo eu compilo o programa ele não mostra a imagem.. a não ser que a imagem esteja na mesma pasta que o arquivo jar... e a imagem está DENTRO do arquivo jar tbm... porem é como se não estivesse.
concluindo:
eu coloquei a imagem no arquivo .jar mas:
se existe a tal imagem na mesma pasta que o arquivo .jar
o programa mostra a imagem
se (por exemplo) o programa ta na desktop e a imagem ta em C:\Documents and Settings\All Users\Favoritos.. ou qlqr outra pasta
o programa não mostra a imagem...
Alguem pode me ajudar com isso???
Desde já agradeço!
PS: aqui vai o código do meu programa... por via das dúvidas (só pra constar, eu uso o Eclipse IDE)
package funcoes;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
/*Esta Classe monta toda a Interface Gráfica da Aplicação com o cliente.
* Aqui você não encontrará nada funcional, somente o código das janelas,
* botões e suas funções. A parte do método Newton-Raphson em si é
* encontrada na Classe negocio!
*/
public class funcao extends JFrame {
//Declaração dos Componentes
ImageIcon logo = new ImageIcon("newton.jpg");
JLabel logotipo = new JLabel(logo);
JLabel grauEquacao = new JLabel("Digite o Grau da Equação:");
JPanel painel = new JPanel();
JTextArea grau = new JTextArea("", 1, 2);
JButton okn = new JButton("Ok");
JPanel painel2 = new JPanel();
negocio funcao = new negocio();
JLabel funcaom = new JLabel();
JButton corrigir = new JButton("Corrigir a Função!");
JButton okRaiz = new JButton("Ok, Obter o Zero da função!");
JButton derivada = new JButton("Mostrar a Derivada desta função!");
JButton Graf = new JButton("Ok, Mostre-me o gráfico da função!");
//construtor da classe
public funcao() {
super("MÉTODO DE NEWTON - RAPHSON");
inicio();
}
//fim do construtor.
//método chamado dentro do construtor da Classe. Este método "monta" toda a interface!
public void inicio(){
GridLayout grid = new GridLayout(2, 1);
getContentPane().setLayout(grid);
grauEquacao.setFont(new java.awt.Font("Comic Sans MS", 1, 25));
grauEquacao.setForeground(new Color(200, 200,255));
funcaom.setFont(new java.awt.Font("Comic Sans MS", 1, 15));
funcaom.setForeground(new Color(200, 200,255));
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setBounds(new java.awt.Rectangle( 250, 225, 800, 600));
painel.setBackground(Color.BLACK);
painel.add(logotipo);
painel.add(grauEquacao);
painel.add(grau);
okn.addActionListener(new ActionListener(){
public void actionPerformed( ActionEvent evento ){
String ene = grau.getText();
int n = Integer.parseInt(ene.trim());
funcao.montaFuncao(n);
funcaom.setText(funcao.funcaom);
painel2.add(corrigir);
painel2.add(okRaiz);
painel2.add(derivada);
painel2.add(Graf);
funcao.count = 1;
}
}
);
painel.add(okn);
getContentPane().add(painel);
corrigir.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String ene = grau.getText();
int n = Integer.parseInt(ene.trim());
funcao.montaFuncao(n);
funcaom.setText(funcao.funcaom);
funcao.count = 1;
}
});
okRaiz.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String ene = grau.getText();
int n = Integer.parseInt(ene.trim());
funcao.raiz(n);
}
});
derivada.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String ene = grau.getText();
int n = Integer.parseInt(ene.trim());
funcao.mostrag(n, funcao.a);
}
});
Graf.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
String ene = grau.getText();
int n = Integer.parseInt(ene.trim());
grafico panel = new grafico(funcao, n);
JFrame Grafico = new JFrame(" Grafico da função: " + funcao.function + " Resolucão 800x800 By: Sheldon Led!");
panel.setBackground(Color.white);
Grafico.add( panel );
Grafico.setBounds(250, 20, 800,800);
Grafico.setVisible( true );
Grafico.setResizable(false);
}
});
painel2.add(funcaom);
painel2.setBackground(Color.BLACK);
getContentPane().add(painel2);
}
// Fim do método "monta" toda a interface!
//Método principal. Este método é que inicia todo o programa
public static void main (String[] Args){
funcao primeira = new funcao();
primeira.setVisible(true);
}
}
|
Desenvolvo Softwares em java pq, no mundo existem diferenças... Nem tudo é Windows!!!!
With JAVA...... We Can!!! (by: Barack Obama) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2009 06:54:37
|
BrunoCarlo
Virtual Machine Man
Membro desde: 25/11/2004 10:50:06
Mensagens: 633
Localização: Rio de Janeiro
Offline
|
Ola,
Boim dia,
Faz o seguinte, tente:
1-> Coloque a imagem na raiz do seu codigo, no eclipse isto quer dizer: %SEU_PROJETO%/src/
2-> Para carregar a imagem tente usar o getResource..
quando vc fizer o jar, abra-o, num zip da vida, e verifique se a imagem fica logo no raiz do jar.. dae funciona certim.
Ps.: sem querer ser o chato... mas quando for postar o codigo, use a tag [code],e poxa... posta só a parte interessante... vlw.
|
Evoluir é preciso
Sempre bom olhar-API |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2009 07:46:56
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20570
Localização: Curitiba/PR
Offline
|
Só fique atento ao detalhe que arquivos dentro do .jar são tratados de maneira case sentitive, enquanto arquivos no Windows não. Ou seja, para o .jar newton.jpg e NEWTON.JPG são coisas diferentes.
This message was edited 1 time. Last update was at 12/03/2009 07:47:08
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/03/2009 14:16:33
|
sheldon
Entusiasta Java
![[Avatar]](/images/avatar/c59a5541c6a6abcbdca997b154dfaa3e.jpg)
Membro desde: 23/12/2008 09:55:38
Mensagens: 16
Localização: goiânia
Offline
|
Muito Obrigado BrunoCarlo, a linha de código que vc citou encaixou como uma luva no meu código e agora ta rodando belezinha... tipo... era como se antes o programa não achasse a imagem dentro do jar.. mas com o getResource os problemas foram "Asolucionados"!
** me desculpa por não colocar a tag [ code ] é pq sou meio novo aqui no GUJ... não sei utilizar bem os recursos do fórum... mas valeu por essa dica tbm..
agora meu código (somente a parte principal) ficou assim:
Mais uma vez, Obrigado!
|
Desenvolvo Softwares em java pq, no mundo existem diferenças... Nem tudo é Windows!!!!
With JAVA...... We Can!!! (by: Barack Obama) |
|
|
 |
|
|
|
|