import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
/**
* @version 1.00 2013-07-06
* @author João Matheus Santos Assis
*/
public class AbrindoImagem extends JFrame {
// Componentes Gráficos necessários.
private JFileChooser escolherImagem;
private JLabel labelImagem;
private JButton buttonAbrir;
/**
* Aqui é aberta a caixa de diálogo de arquivo (JFileChooser)
* configurada para aceitar imagem no formato .jpg, .jpeg e .gif;
* Após escolhida a imagem desejada e o botão Abrir for requisitado
* o label escolherImagem carregará a imagem.
*/
private void AbrirImagem() {
escolherImagem = new JFileChooser();
FileNameExtensionFilter filtro =
new FileNameExtensionFilter("Imagem", "jpg", "jpeg", "gif");
escolherImagem.setFileFilter(filtro);
int resultado = escolherImagem.showOpenDialog(AbrindoImagem.this);
if (resultado == JFileChooser.APPROVE_OPTION) {
// armazena o diretório da imagem.
String caminho = escolherImagem.getSelectedFile().getPath();
labelImagem.setIcon(new ImageIcon(caminho));
}
}
/**
* O construtor chama o método initComponents.
*/
public AbrindoImagem() {
initComponents();
}
/**
* Aqui é definido as propriedades do Jframe, bem como
* adicionado os componentes gráficos ao JFrame.
*/
private void initComponents() {
// Propriedades da Janela.
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationByPlatform(true);
setTitle("Abrindo Imagem em Java...");
setSize(500, 500);
// Propriedade do labelImagem.
labelImagem = new JLabel();
add(new JScrollPane(labelImagem), BorderLayout.CENTER);
// Propriedade do buttonAbrir.
buttonAbrir = new JButton();
buttonAbrir.setText("Abrir Imagem...");
buttonAbrir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// Chama o método AbrirImagem.
AbrirImagem();
}
});
add(buttonAbrir, BorderLayout.SOUTH);
}
/**
* Método Principal, aqui é carregada a aplicação e definida a interface
* da janela.
*/
public static void main(String[] args) {
try {
for (UIManager.LookAndFeelInfo info :
UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(AbrindoImagem.class.getName()).log(Level.SEVERE,
null, ex);
} catch (InstantiationException ex) {
Logger.getLogger(AbrindoImagem.class.getName()).log(Level.SEVERE,
null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(AbrindoImagem.class.getName()).log(Level.SEVERE,
null, ex);
} catch (UnsupportedLookAndFeelException ex) {
Logger.getLogger(AbrindoImagem.class.getName()).log(Level.SEVERE,
null, ex);
}
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new AbrindoImagem().setVisible(true);
}
});
}
}
Palavras-Chaves: Abrindo Imagem, Extensões, JPG, JPEG, GIF, Componentes Gráficos, Diretório, JFileChooser, JLabel, JButton, actionPerformed, Layout, Propriedades, Bibliotecas, Documentação, Caixa de Diálogo, Interface da Janela, Métodos, Construtor, Java.
Nota.: Recomendasse a não abrir imagens de grandes dimensões para garantir uma boa visualização.
Artigos relacionados em Java:
- Desenhando Espiral Quadrático em Java
- Desenhando Circulos côncentricos no meio da tela em Java
- Reproduzindo a palheta RGB em Java
- Criando um JFrame em Java
- Trabalhando com JRadioButton em Java
- Calculadora simples em Java
- Trabalhando com JCheckBox em Java
- Introdução ao componente JSlider em Java
- Barra de Carregamento em Java
- Eventos com JButton (mudando a cor do JPanel) em Java
- Jogo da Memória em Java
- Manipulando a fonte e a cor do JLabel.
Feito no NetBeans-7.1 | Executável |
Feito no NetBeans-7.1 | Executável |