elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Imagenes en java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Imagenes en java  (Leído 2,650 veces)
4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Imagenes en java
« en: 8 Abril 2016, 18:00 pm »

Cuando ejecuto el siguiente codigo utilizando Toolkit, no aparece la imagen hasta que le cambio el tamaño a la ventana. Se que se puede solucionar utilizando ImageIO o ImageIcon, pero me gustaria saber que diferencia hay entre usar uno y otro y por que tengo que cambiar el tamaño de la ventana cuando utilizo Toolkit para que se muestre la imagen.
Código:
package main;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;

import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test {

public static void main(String[] args) throws IOException{
JFrame ventana = new JFrame();
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image imagen =
//DESCOMENTA UNO DE LOS TRES COMENTARIOS SIGUIENTES PARA APRECIAR LA DIFERENCIA ENTRE UNO Y OTRO
// ImageIO.read(new File("IMAGEN.png"));
// Toolkit.getDefaultToolkit().getImage("IMAGEN.png");
// new ImageIcon("IMAGEN.png").getImage()
JPanel panel = new JPanel(){
private final static long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
g.drawImage(imagen, 0, 0, null);
}
};
panel.setPreferredSize(new Dimension(300,300));
ventana.add(panel);
ventana.pack();
ventana.setVisible(true);
}

}
PD: Acabo de descubrir algo de lo mas inquietante: Si creo un ImageIcon con la imagen antes o despues de usar Toolkit, tambien se soluciona. ¿Alguna idea de porque sucede esto?

Cuando lo probeis tened en cuenta que le teneis que poner una imagen para ver el resultado y llamarla IMAGEN.png.

A todo esto, ¿Cual es la diferencia entre obtener una imagen usando ImageIcon, Toolkit e ImageIO?
Código:
new ImageIcon("IMAGEN.png");
Toolkit.getDefaultToolkit().getImage("IMAGEN.png");
ImageIO.read(new File("IMAGEN.png"));


« Última modificación: 9 Abril 2016, 17:00 pm por 4dr14n31t0r » En línea

LaiaxanIV

Desconectado Desconectado

Mensajes: 57


Ver Perfil
Re: Imagenes en java
« Respuesta #1 en: 8 Abril 2016, 20:38 pm »

No se si me sabré explicar. ImageIcon crea un BufferedImage mientras que los otros dos devuelven una Image.
Image es un concepto genérico (clase abstracta) mientras que BufferedImage es la implementación de ese concepto genérico.
Yo te recomiendo usar ImageIcon ya que ya es una clase en si, que hereda de Image.


En línea

4dr14n31t0r

Desconectado Desconectado

Mensajes: 85



Ver Perfil
Re: Imagenes en java
« Respuesta #2 en: 9 Abril 2016, 17:20 pm »

Amigo mio, siento mucho tener que decirte que te equivocas, ya que ImageIcon en realidad no hereda de Image ni directa ni indirectamente. De lo contrario no habria utilizado el metodo createImage().
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Imagenes en java
« Respuesta #3 en: 9 Abril 2016, 22:19 pm »

ImageIcon hereda de Icon, así que yo lo usaría solo si necesitas un Icon.

Toolkit.getImage es asíncrono que yo sepa, así que puede no cargar la imagen al momento. Ese es el problema que te puede estar cuasand, que no esperas a que la imagen se cargue.

Si quieres cargar imagenes de forma síncrona, yo usaría ImageIO, salvo que necesites otro método, claro.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Imagenes en JAVA
Java
bruj0 4 3,583 Último mensaje 23 Febrero 2006, 21:46 pm
por bruj0
Por que no me carga carpeta de imagenes???, Java
Java
1mpuls0 2 4,762 Último mensaje 29 Mayo 2008, 07:37 am
por tongoxcore
imagenes java
Java
mapers 1 2,236 Último mensaje 26 Septiembre 2010, 23:11 pm
por josco
Ayuda Imagenes en java
Java
spyller 0 1,763 Último mensaje 3 Octubre 2012, 05:51 am
por spyller
[AYUDA][Problema] Cargar imagenes en Java (soy nuevo en Java)
Java
Noxware 3 4,071 Último mensaje 14 Septiembre 2014, 19:39 pm
por Noxware
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines