Upload de imagem Java desktop – JavaSwing

Upload de imagem Java desktop – JavaSwing

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Upload de imagem Java desktop – JavaSwing

JavaSwing

Olá amigos, hoje é dia de um pouco de JavaSwing. Vamos falar do Upload de imagem em Java desktop.
Apesar de ser uma tecnologia poderosa o Java Swing não é muito utilizado no mundo corporativo Java. As alternativas para Web são mais atraentes e muito mais divulgadas. Claro que existem razões para isso: a maioria dos sistemas atualmente rodam sobre servidores robustos, são distribuídos, balanceados que é mais interessante do que os sistemas Standalone (Desktop).
Mesmo assim sempre haverá a necessidade, um requisito para se utilizar JSE – Java Standard Edition ou um professor que nos passa um trabalho! 🙂
Para essas situações mostraremos como manipular Imagem em JavaSwing.

Mãos à obra!

1. Código de exemplo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package br.com.feltex.jse.swing.nivel5;
 
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRootPane;
 
public class CarregaImagem extends JFrame implements ActionListener {
 
	private static final long serialVersionUID = 2893622202255914832L;
	JFileChooser chooser;
	BufferedImage imagem;
	JButton btnCarregaImagem;
	File arquivo;
	JLabel label;
 
 
	/**
	 * Construtor padrão do Sistema
	 */
	public CarregaImagem() {
 
		super("Capturar Imagem");
 
		setSize(580, 580);// Dimensões da Janela
 
		JPanel panel = new JPanel();
		panel.setLayout(new BorderLayout());
		getContentPane().add(panel);
 
		chooser = new JFileChooser();
		label = new JLabel();
 
		JPanel secpanel = new JPanel();
 
		// Define que a tela será retirada da memória quando clicar no botão fechar "X" da tela
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
 
 
		setVisible(true);
 
		JRootPane compPane = panel.getRootPane();
		Container contePane = compPane.getContentPane();
		contePane.add(secpanel);
 
		secpanel.add(label, BorderLayout.CENTER);
 
		btnCarregaImagem = new JButton("Selecione uma imagem");
		btnCarregaImagem.addActionListener(this);
		panel.add(btnCarregaImagem, BorderLayout.SOUTH);
	}
 
 
 
	protected static ImageIcon createImageIcon(String path) {
		java.net.URL imgURL = CarregaImagem.class.getResource(path);
 
		if (imgURL != null) {
			return new ImageIcon(imgURL);
		} else {
			System.err.println("Não foi possível carregar o arquivo: " + path);
			return null;
		}
	}
 
 
	/**
	 * Método acionado quando o usuário clique no botão
	 * @ActionEvent - objeto com o comportamento da ação
	 */
	public void actionPerformed(ActionEvent e) {
 
		if (e.getSource() == btnCarregaImagem) {
 
			chooser.showOpenDialog(null);
			arquivo = chooser.getSelectedFile();
 
			try {
				imagem = ImageIO.read(arquivo);
				ImageIcon icon = new ImageIcon(imagem);
				label.setIcon(icon);
 
				Dimension imageSize = new Dimension(icon.getIconWidth(), icon.getIconHeight());
				label.setPreferredSize(imageSize);
 
				label.revalidate();
				label.repaint();
 
			} catch (IOException e1) {
				e1.printStackTrace();
			}
		}
	}
 
	public static void main(String[] args) {
		new CarregaImagem();
	}
 
}

Conclusão

Então amigos. Isso é apenas uma das formas de manipular imagens com java Swing. Ainda é possível pegar essa imagem e salvar em banco de dados, enviar por e-mail. Leia os links abaixa e aprenda mais sobre manipulação de imagem em java.

Grande abraço e vida que segue!

Links relacionados

Swing Tutorial

Gravação em Banco de Dados

Java Desktop

Não se esqueça de curtir este post nas redes sociais. Dê a sua contribuição social e ajude o autor:

Deixe um comentário