Afficher une image à partir d’un JFileChooser – Swing Java

JFileChooser fait partie du package java Swing. JFileChooser est un moyen simple et efficace d’inviter l’utilisateur à choisir un fichier, une image ou un répertoire. Dans ce tutoriel nous allons découvrir comment afficher une image à partir d’un JFileChooser en Java Swing.
 
 


 

Exemple: Afficher une image à partir d’un JFileChooser
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;

public class BrowseImage extends JFrame
{
  JLabel l;
    
  public BrowseImage()
  {
		super("Afficher une image à partir d'un JFileChooser");
		JButton btn = new JButton("Parcourir");
		btn.setBounds(150,310,100,40);
		l = new JLabel();
		l.setBounds(10,10,365,290);
		add(btn);
		add(l);
		
		btn.addActionListener(new ActionListener() 
		{
			public void actionPerformed(ActionEvent e) 
			{
			  JFileChooser file = new JFileChooser();
			  file.setCurrentDirectory(new File(System.getProperty("user.home")));
			  //filtrer les fichiers
			  FileNameExtensionFilter filter = new FileNameExtensionFilter("*.Images","jpg","png");
			  file.addChoosableFileFilter(filter);
			  int res = file.showSaveDialog(null);
			  //si l'utilisateur clique sur enregistrer dans Jfilechooser
			  if(res == JFileChooser.APPROVE_OPTION){
				  File selFile = file.getSelectedFile();
				  String path = selFile.getAbsolutePath();
				  l.setIcon(resize(path));
			  }
			}
		});
		
		setLayout(null);
		setLocationRelativeTo(null);
		setSize(400,400);
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
     
  // Méthode pour redimensionner l'image avec la même taille du Jlabel
  public ImageIcon resize(String imgPath)
  {
		ImageIcon path = new ImageIcon(imgPath);
		Image img = path.getImage();
		Image newImg = img.getScaledInstance(l.getWidth(), l.getHeight(), Image.SCALE_SMOOTH);
		ImageIcon image = new ImageIcon(newImg);
		return image;
  }
    
  public static void main(String[] args){
		new BrowseImage();
  }
}

Sortie:


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *