Por que è tão dificil? Não consigo fazer minha imagem aparecer! (+raiva)

8 respostas
SirDominque

aaaa gente, nao estou conseguindo com nenhum método fazer minha maldita imagem aparecer.

tentei várias coisas, mas não consegui, pesquisei mas todos eles dão erro e querem q eu crie várias classes;;;

Achei um código na net e adaptei ele na minha classe, mas não aparece! Eu mudei o c:\ , mas nao acontece nada!

ImageIcon i = new ImageIcon("c:\\teste.jpg");
Image i2;

i2 = i.getImage();
i.setImage(i2.getScaledInstance(150,100,Image.SCALE_FAST));

Olha, vou explicar como esta meu package:
package researchuser;

Tenho umas 5 classes, incluindo a interface Java do netbeans!
Tenho um arquivo dentro, chamado ace.png , que , no caso é a imagem que eu quero carregar;

Só quero que ela apareça na tela, só isso, nao precisa ter filtros, nao precisa ser redimensionada…
O resto eu consigo aprender fuçando… o problema é fazer ele carregar e mostrar a imagem

Gente me ajudem, ja estou passando nervoso com isso aqui rsrsrsrsrsr

8 Respostas

MaYaRa_SaN

Teu obj i2 foi adicionado à um painel ou outro container?

SirDominque

acho que nao, por que eu coloquei esse código em uma classe separada…
Só tinha este método na classe…

SirDominque

aff, olha que inferno, achei esse código agora, mas nao tem um MALDITO SHOWIMAGE, PQ ????

BufferedImage imagem = ImageIO.read(new File("ace.png"));
 
    //ImageIO.write(imagem, "PNG", new File("ace.png"));

Esse Write serve de show ou ele vai substituir minha imagem?

afffffffffffffffffffffffffffff

fernandopaiva

isso é muiiito facil, simples d+…deve ter 1 milhao de posts aqui no forum e mais uns 30milhoes no google.

Seguinte, se estiver usando NetBeans basta vc colocar um JLabel e ir nas propriedades e adicionar a imagem como pretende.

Se for por código a imagem estiver em algum package basta fazer assim.

ImageIcon imagem = new ImageIcon(getClass().getResourse("/imagens/minhaimagem.jpg")); //aqui a imagem esta dentro do package "imagens"
JLabel labelImagem = new JLabel(imagem);
this.getContentPane().add(labelImagem);

Se a imagem estiver em um diretorio do seu SO basta passar o caminho completo.

ImageIcon imagem = new ImageIcon("/diretorio/imagem.jpg"); //aqui a imagem esta dentro de c:\diretorio
JLabel labelImagem = new JLabel(imagem);
this.getContentPane().add(labelImagem);

Simples de fazer, veja aqui: http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html

t+ e boa sorte.

SirDominque
package researchuser;

import com.sun.org.apache.bcel.internal.generic.GETFIELD;
import java.*;
import java.awt.Container;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.*;


public class ImageViewer {
    
    private static Image imagem;
    public static JFrame frame;
    static Toolkit toolkit = Toolkit.getDefaultToolkit();
    
    
    
    public void main (String args[]) 
    
    {
        
            lol();
      
    
    public void lol() 
    {
        
        ImageIcon imagem = new ImageIcon(getClass().getResource("/ace.png"));  
        JLabel labelImagem = new JLabel(imagem);  
        this.getContentPane().add(labelImagem);  
    
    }
    
  
}

Esta dando erro dentro do método… Eu nem sei por que, tem hora q fala q é por causa do static, outra hora é por causa q ta de rabo virado, sei la…

E detalhe, o java cismou comigo , q eu nao posso criar um frame dentro do meu jFrame, maldito java

fernandopaiva

tente isso.

public class ImageViewer extends JFrame{
    public ImageIcon imagem;
    public JLabel labelImagem;
    public JPanel principal;
    
    public ImageViewer(){        
         this.setDefaultCloseOperation(EXIT_ON_CLOSE);
         principal = new JPanel();
         imagem = new ImageIcon("/ace.png");
         labelImagem = new JLabel(imagem);

         principal.add(labelImagem);
         this.getContentPane().add(principal);
        
    }
  
    public static void main(String[] args){
         new ImageViewer().setVisible(true);
    }

}

Estude componentes Swing, veja aqui um bom exemplo: http://pet.inf.ufsc.br/sites/default/files/javagui.pdf

t+ e boa sorte

SirDominque
GoGoBoy:
cara,

vc esta colocando sua imagem em um painel ,em uma label ou em botão?

facil e simples!!!

JLabel .setIcon(new javax.swing.ImageIcon(getClass().getResource("/ace.pngf")));

Gente, como que eu posso fazer, para ele mostrar a imagem, assim que eu clicar no botão

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
        
    ImageIcon imageIcon = new javax.swing.ImageIcon(getClass().getResource("/ace.pngf"));
        // TODO add your handling code here:
}
MaYaRa_SaN

Andre Lopes, se você está estressado, recomendo pegar um café e esfriar a cabeça pq nervoso voce nao vai conseguir resolver o problema.

Jframe é um componente de janela, e dentro dele voce tem um container onde são colocados os componentes.

se voce quer trabalhar com janelas internas, procure um exemplo de JInternalFrame e JDesktopPane.

quando ao static, a assinatura do método de inicialização do teu sistema (método main) deve ser EXATAMENTE:

public static void main(String[] args){
  frame = new Jframe();
  lol();

}
quanto ao outro método, tente assim:
public void lol()   
    {  
          
        ImageIcon imagem = new ImageIcon(getClass().getResource("/ace.png"));    
        JLabel labelImagem = new JLabel(imagem);    
        this.getContentPane().add(labelImagem);    
        frame.pack();
      
    }

não compilei o código para confirmar... entao pode conter erros

só uma dúvida, voce esta seguindo algum material? se não estiver, recomendo pegar uma apostila para voce aprender a criar os componentes graficos com menos estresse ;)

Criado 28 de dezembro de 2011
Ultima resposta 28 de dez. de 2011
Respostas 8
Participantes 3