java imagen

Si estas sumergiéndote en el mundo de Java, tarde o temprano te verás con esta palabreja. Lo que te interesa saber es que Java Swing es una herramienta para desarrollar interfaces gráficas. Exactamente Swing es una biblioteca que podemos usar para programar botones, subir imágenes, crear tablas y menús desplegables… A continuación vamos a realizar algunos ejemplos sencillos de lo que podemos hacer con esta herramienta.

¿Cómo usar java swing?

En el siguiente programa hemos realizado un marco simple donde le hemos predefinido el tamaño con setSize, la posición en la pantalla con setLocation donde las coordenadas (0,0) serían la esquina superior izquierda de la pantalla y setTitle para definir el título en la cabecera del programa.

Tener en cuenta que funciona como Photoshop, tu puedes dibujar en una base, pero lo ideal es que lo clasifiques en capas, en este caso para yo lo he programado en Láminas.

package graficos;

import javax.swing.*;
import java.awt.*;

public class EscribiendoEnMarco {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		MarcoConTexto mimarco=new MarcoConTexto();		
		mimarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

class MarcoConTexto extends JFrame{
	
	public MarcoConTexto(){
		
		setVisible(true);
		setSize(600,450);
		setLocation(400,200);
		setTitle("Primer Texto");
		
		Lamina milamina=new Lamina();
		
		add(milamina);	
	}
}

class Lamina extends JPanel{
	
	public void paintComponent(Graphics g){
		
		super.paintComponent(g); //invocamos método para que haga la funcion de paintcomponent por defecto
		
		g.drawString("Estamos aprendiendo Swing", 10, 20);		
	}
}

¿Cómo subir fotografías con Java Swing?

Otra cosa que puedes hacer es subir fotografías con Java Swing, en el siguiente programa te muestro como realizar esta operación.

En este caso hay un dato muy importante, para leer la imagen hay que usar ImageIO.read, este método lanza una excepción, entonces si no la programamos no va a funcionar. Esto pasa porque es posible que la imagen no se encuentre en la ruta, en esto caso Java solicita que indiques que pasaría en caso de que no funcionase, para que no salte un error, ni el programa se quede bloqueado.

En este caso lo que hemos hecho nosotros ha sido programar un try, indicando que si lee la imagen correctamente que siga, que no hay problema, pero en caso contrario nos va a saltar un error indicando que la imagen no se encuentra.

package graficos;

import java.awt.*;
import java.io.*;
import javax.swing.*;
import javax.imageio.*;


public class IncluyendoImagenes {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		MarcoImagen mimarco = new MarcoImagen();
		
		mimarco.setVisible(true);
		mimarco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);			
	}
}


class MarcoImagen extends JFrame{
	
	public MarcoImagen(){
		
		setTitle("Marco con imagen");
		setBounds(0,0,800,500);
		
		LaminaConImagen milamina=new LaminaConImagen();
		
		add(milamina);
	}
}

class LaminaConImagen extends JPanel{
	
	public void paintComponent(Graphics g){
	
		super.paintComponent(g);
		
		File miimagen= new File("src/graficos/icono2.png");
		
		try{
		imagen=ImageIO.read(miimagen); //lanza excepción
		}
		catch(IOException e){
			System.out.println("La imagen no se encuentra");
		}
		
		g.drawImage(imagen, 0, 0, null);		
		
	}		
	
	private Image imagen;
}

Datos a tener en cuenta en este último ejercicio, hemos cambiado los setSize y setLocation por setBounds, es exactamente lo mismo.

Y hasta aquí la explicación básica de Swing con algunos ejemplos, si quieres ver más sígueme en Google para no perderte los últimos artículos de Java.

icon
icon