Atributo do tipo Image é possível?

Olá, eu estava pensando se era possível eu fazer algo do tipo:

private String nome;
private int idade;
private Image img;

A idéia aqui não é simplesmente criar um atributo do tipo Image, mas sim criar um atributo do tipo e depois atribuir uma imagem pronta! Não quero traçar uma linha nem pintar um circulo, quero simplesmente adicionar o caminho pra uma imagem png ou jpg e manter ela vinculada ao meu objeto na forma de um atributo!
Isso é possível??

Se for para atribuir apenas o caminho de uma imagem, você deve usar String:

private String caminhoImagem;

Mas vincular a imagem em si como atributo não é possível?

Você quer o caminho da imagem (que seria uma string tipo “C:\Documents\Images\birthdayphoto.jpg”) ou quer um objeto imagem mesmo (um bufferedimage)?

Para o primeiro, crie uma String, como sugerido pelo lucastody.

Para o segundo, crie um atributo do tipo BufferedImage. Algo como:

class NomeDaClasse{
  private String nome;
  private int idade;
  private BufferedImage img;
}

Se está tendo dificuldade com isso, explique melhor.

Abraço.

Nunca trabalhei com BufferedImage, como eu faço pra setar esse atributo ai? Oque eu quero fazer mesmo é vincular uma imagem pronta ao meu objeto na forma de um atributo!

Da mesma forma que qualquer outro atributo:

class NomeDaClasse{
  private String nome;
  private int idade;
  private BufferedImage img;

  public void setImage(BufferedImage image){
    this.img = image;
  }

  public BufferedImage getImage(){
    return this.img;
  }
}

Para carregar uma imagem para um BufferedImage, você pode usar ImageIO.read(), passando o File que contém o caminho da imagem:

BufferedImage imagemQualquer = null;
try {
    imagemQualquer = ImageIO.read(new File("caminho_da_imagem.jpg"));
} catch (IOException e) {
}

NomeDaClasse instancia = new NomeDaClasse();
instancia.setImage(imagemQualquer);

Abraço.

1 curtida

Muito obrigado, era isso que eu precisava!