Imágenes |
||||||
Archivos necesarios: |
||||||
Agregar imágnes a nuestros componentes de Java es algo muy sencillo y puede hacer que nuestras aplicaciones tengan una mejor apariencia. Una imágen sencilla puede ser un excelente botón que no estorbe y que nos permita saber que va a hacer la aplicación (el símbolo del diskette para guardar que utilizan todas las aplicaciones de Office). El primer archivo es una forma con algunos botones que nos permite entender el uso de imágenes a grandes rasgos. El segundo archivo es un zip que contiene varias imágenes que necesita el programa. Recuerda que las imágenes tienen que estar en el mismo directorio que la clase que se genera al compilar (por lo regular JCreator crea un folder llamado classes dentro del directorio en que está el archivo .java en el que estamos trabajando) |
||||||
¿Cómo añadir imágenes? |
||||||
Una vez que hayas compilado y corrido el programa podrás ver que tiene varias imágenes. Veamos un poco más a fondo que es lo que tiene el programa y cómo funciona cada cosa. |
||||||
![]() |
Podemos ver en el programa que hay tres botones en la parte superior, el primero solamente tiene un ícono y lo podemos utilizar por ejemplo en la barra de menú de nuestros programas, los siguientes dos son botones que podríamos encontrar en un diálogo de aceptar y cancelar, el hecho de utilizar imágenes mejora la presentación de nuestra aplicación y la hace más amigable ya que permite que gente que no sabe el idioma entienda cómo funciona la aplicación a grandes rasgos. Después podemos ver dos imágenes de diferentes tamaños, una de las ventajas de utilizar la clase Image que veremos más adelante y por último hay otro botón que podemos utilizar para salir de la aplicación, como podemos observar por el ícono. Para poder añadir imágenes a nuestros programas debemos de "poner" las imágenes en algún lugar, podemos utilizar JButtons, JLabels, JComponents, JFrames y muchos componentes más. Se recomienda que para desplegar una imágen únicamente (sin necesidad de que responda a eventos o algo similar) se utilice un JLabel. |
|||||
| Hay dos maneras de utilizar imágenes, la primera es un poco más sencilla y utiliza algunas líneas menos de código pero no tiene tanto poder como la segunda. Debemos elegir la manera que más nos convenga para nuestra aplicación. |
|
|||||
| Para poder poner una imágen en cualquier componente debemos de utilizar el método setIcon del componente en el que queremos poner una imágen. El método setIcon recibe un objeto de tipo ImageIcon por lo que debemos de crear un nuevo ImageIcon con un constructor que recibe un String que representa la dirección en la que se encuentra la imágen que queremos añadir, para poder utilizar imágenes que se encuentran en la misma carpeta que la clase que creamos debemos utilizar el método getResource de la clase. En la foto aparece como Main.class.getResource, pero si nuestra clase se llamara Calculadora deberíamos utilizar Calculadora.class.getResource, este método nos regresa la dirección completa de cualquier archivo que se encuentre en el directorio en el que está guardada la clase. | ||||||
![]() |
Yendo un paso más allá podemos utilizar la clase Image para obtener algunas funciones útiles al manejar imagenes. Para hacer esto debemos utilizar un Toolkit. Un Toolkit es un conjunto de herramientas que nos permiten obtener imagenes, o nos permiten obtener el tamaño de la pantalla, entre otras cosas. | |||||
| Para crear un Toolkit debemos utilizar el método getDefaultToolkit() de la clase Toolkit como se ve en la fotografía de arriba. Una vez que ya creamos un Toolkit podemos utilizarlo para crear una nueva imágen mediante el método getImage() que recibe la dirección en la que se encuentra el archivo. Al igual que en el ejemplo anterior podemos utilizar el método getResource() de la clase para obtener archivos que se encuentran en el mismo directorio que esta. Una vez que ya creamos el objeto Image podemos utilizar el constructor de ImageIcon que utiliza una imagen para ponerle el ícono al botón, como se ve en la fotografía. | ||||||
| Crear imágenes nos permite tener acceso a tres métodos que nos sirven mucho cuando nuestra aplicación va a utilizar imágenes, el primero de ellos y el más útil es getScaledInstance(int width, int height, int hints) que nos permite obtener una imágen a escala con la imágen que tenemos, de esta manera podemos tener imágenes del mismo tamaño en nuestras aplicaciones. | ![]() |
|||||
Dependiendo del valor que mandemos como tercer parámetro será la calidad de la imágen que tengamos, pero mientras mayor sea la calidad de la imágen a escala más se tardará en crearla el método. Los principales valores que podemos mandar, de mayor a menor calidad son:
Por último existen un par de métodos que nos permiten quitarle los bordes a un botón para que podamos utilizarlo en una barra de menú como se ve en esta foto: btnNuevo.setBorderPainted(false); Los cuatro ceros que se ven en el segundo método son el espacio que hay entre el ícono y la parte superior, izquierda, inferior y derecha respectivamente. Al agregar imágenes recuerda que Java solamente maneja los formatos jpg, gif y png por lo que se recomienda que los dibujos que vayas a utilizar se encuentren en uno de estos tres formatos (aunque podría funcionar con algún otro es muy poco recomendable). |
||||||