Colocar imagenes en componentes de aplicaciones gráficas en Java con Eclipse

Hola a todos, hoy os explicare como podemos colocar iconos en aquellos componentes que permitan añadir una imagen.

En algunos componentes que ya hemos visto, podemos añadirle un icono para mejorar su aspecto, por ejemplo, a componentes JMenuItem, JLabel, JButton JFrame, etc.

No es necesario que conviertas la imagen a .ico, Java lo hará por nosotros, para el JFrame. Para otros componentes sera necesario que adaptes la imagen a tus necesidades, ya que sino aparecerá con su tamaño real.

La clase con la que manejaremos las imágenes es con ImageIcon(String) donde le pasaremos un String con la ruta de la imagen. En aquellos elementos que puedan contener un icono, suelen tener un constructor que incluye un parámetro de la clase Icon o Image.

Lo ideal es que cuando hacemos una aplicación que use imágenes, creamos una carpeta en el proyecto que contenga todas las imágenes usadas. Es importante saber que si queremos usar una ruta relativa, esta empieza desde la raíz del proyecto, no de la carpeta src.

Por ejemplo, si queremos acceder a una imagen en la carpeta imágenes de nuestro proyecto, le pasaremos «imagenes\imagen.jpg», como ya comentamos en otro post, como Java puede ser ejecutado en varias plataformas, lo recomendable es usar la contante separator de la clase File, quedándose así «imagenes»+File.separator+»imagen.jpg».

Le podemos cambiar en cualquier momento el icono a nuestro JFrame, con el método setIconImagen(«objeto IconImage».getImage()). Para los demás componentes, usaremos el método setIcon(Icon), le podemos pasar un objeto de ImageIcon.

Veamos un ejemplo, creamos una carpeta imágenes y metemos ahí dos imágenes (las que queramos):

Así es como quedaría:

ejemplo imagenes

Os dejo un rar con las imágenes para probar el anterior código o puedes poner tu propias imagenes. Pincha aquí.

Por último, os recomiendo que reviséis el API de Java, para saber si acepta una imagen el componente.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

2 comentarios

  1. asder

    me ha funcionado, pero quiero agregar dos imágenes por separado y no me ha salido, como se haría

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539