Alors, procédons par étape
J'imagine que tu veux choisir ou faire choisir à l'utilisateur l'image qu'il veut, pour cela tu devras utiliser un JFileChooser. Il va te permettre de choisir toi même ton fichier. Tu eux lui ajouter des filtres spécifiques pour qu'ils ne prennent en compte que certaines extensions comme les .jpg par exemple.
Je te mets du code un peu en vrac je le reconnais mais qui peuvent t'aider.
Par exemple les filtres :
public class Filtre extends FileFilter {
private String[] extensions;
private String description;
/**
* Constructeur de FiltreXML
*
* @param String[] extensions
* Les extensions de fichiers autorisées
* @param String description
* Courte description de l'ensemble des extensions autorisées
* */
public Filtre( String[] extensions, String description ){
this.extensions = extensions;
this.description = description;
}
/**
* Un getter
*/
public String getDescription(){
return this.description;
}
/**
* Méthode qui vérifie si une extension appartient à celles autorisées (présentes dans un tableau)
*
* @param String extension
* Extension à vérifier
*
* @return boolean
* Si l'extension appartient ou non à celles autorisées
*/
public boolean appartient( String extension ){
for (int i = 0; i < extensions.length; i++ )
if ( extension.equals( extensions[ i ] ) )
return true;
return false;
}
/**
* Méthode provenant de la classe FileFilter
* Vérifie si le fichier en paramètre est un répertoire ou qu'il soit autorisé
*
* @param File fichier
* Fichier à tester
*
* @return boolean
* Si le fichier peut être utilisé
* */
public boolean accept( File fichier ){
String suffixe, fileName;
int i;
if ( fichier.isDirectory() )
return true;
suffixe = null;
fileName = fichier.getName();
i = fileName.lastIndexOf('.');
if ( i > 0 && i < fileName.length() - 1 )
suffixe = fileName.substring( i + 1 ).toLowerCase();
return suffixe != null && appartient( suffixe );
}
}
Et le JFileChooser :
public void actionPerformed( ActionEvent e ){
filtre = new Filtre( new String[] {"jpg", "png", "gif"}, "fichiers au format image" );
JFileChooser chooser = new JFileChooser();
chooser.addChoosableFileFilter( filtre );
int retour = chooser.showDialog( fenetre, "Charger l'image" );
// si l'utilisateur a cliqué sur le bouton "Charger l'image"
if ( retour == JFileChooser.APPROVE_OPTION ){
String path = chooser.getSelectedFile().getPath();
String name = chooser.getSelectedFile().getName();
// après je te laisse compléter car tu as maintenant les outils pour manipuler ton fichier image selectionner
}
}
Ensuite pour afficher ton image, tu peux utiliser la classe JLabel et la classe JPanel pour l'affichage. Sinon pour la manipulation d'image en tant que telle, les classe Imageet ImageIconpeuvent correspondre à tes besoins.
--
Pylouq (actuellement jongleur de clavier AZERTY et de clavier QWERTZ)