una seticon ruta poner obtener manejo imagenes imagen getimage como cargar java image awt

seticon - ¿Cómo se lee una imagen en Java cuando Toolkit.getDefaultToolkit() arroja un AWTError?



poner imagen en jlabel java (3)

Estoy leyendo archivos de imagen en Java usando

java.awt.Image img = Toolkit.getDefaultToolkit().createImage(filePath);

En algunos sistemas, esto no funciona, sino que arroja un AWTError quejándose de sun / awt / motif / MToolkit.

¿De qué otro modo puede crear un objeto java.awt.Image a partir de un archivo de imagen?


En algunos sistemas, agregar "-Djava.awt.headless = true" como parámetro java puede ayudar.


Hay varios métodos estáticos en ImageIO que permiten leer imágenes de diferentes fuentes. Los más interesantes en tu caso son:

BufferedImage read(ImageInputStream stream) BufferedImage read(File input) BufferedImage read(InputStream input)

Revisé dentro en el código. Utiliza la clase abstracta ImageReader, y hay tres implementadores: JPEGReader. PNGReader y GIFReader. Estas clases y BufferedImage aparentemente no usan ningún método nativo, por lo que siempre debería funcionar.

Parece que el AWTError que tienes es porque estás ejecutando Java en una configuración sin cabeza, o que el toolkit de Windows tiene algún tipo de problema. Sin embargo, mirar el error específico es difícil de decir. Esta solución le permitirá leer la imagen (probablemente), pero dependiendo de lo que quiera hacer con ella, AWTError puede aparecer más tarde cuando intente visualizarla.


Leo imágenes con ImageIO .

Image i = ImageIO.read(InputStream in);

El javadoc ofrecerá más información también.