Imorter une image et l'aficher avec java

Bonjour,
j'ai créer ce code mais lorsque je choisir une image et cliquer sur ouvrir, elle ne s'affiche pas . voila le code et merci de m'aider, c très urgent.

import javax.swing.*;
import java.awt.*;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.image.*;
import javax.imageio.*;
import java.io.*;

public class fen01 extends JFrame implements ActionListener{
private JButton bouton;
private JLabel label;
private TextField valeur;
private Scrollbar sc;
private JLabel label1;
private JLabel label2;
private JLabel image;
String f;
public fen01(){
super("");

build();//On initialise notre fenêtre

}

public void build(){
setTitle("debut du projet"); //On donne un titre à l'application
setSize(1200,900); //On donne une taille à notre fenêtre
//setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(false); //On permet le redimensionnement
setContentPane(buildContentPane( ));

//mise en place du menu

JMenuBar menuBar = new JMenuBar();

JMenu menu1 = new JMenu("Fichier");

JMenuItem ouvrir = new JMenuItem("Ouvrir");
ouvrir.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent eve){
JFileChooser fc = new JFileChooser();
int returnVal = fc.showOpenDialog
(fen01.this);

if(returnVal == JFileChooser.APPROVE_OPTION){

System.out.println(""+ fc.getSelectedFile().getName());

}}});

menu1.add(ouvrir);

JMenuItem enregistrer = new JMenuItem("Enregistrer");
enregistrer.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent eve){
JFileChooser fc = new JFileChooser();
int returnVal = fc.showSaveDialog
(fen01.this);
if(returnVal == JFileChooser.APPROVE_OPTION){

}}});

menu1.add(enregistrer);

JMenuItem fermer = new JMenuItem("Fermer");
menu1.add(fermer);
menu1.addSeparator();

JMenuItem quitter = new JMenuItem("Quitter");
menu1.add(quitter);
Ecouteur ec=new Ecouteur();
quitter.addActionListener(ec);

menuBar.add(menu1);

JMenu menu2 = new JMenu("Edition");

JMenuItem zoom = new JMenuItem("Zoomer");
menu2.add(zoom);

menuBar.add(menu2);

setJMenuBar(menuBar);

}

class Ecouteur implements ActionListener{
public void actionPerformed(ActionEvent e)
{

System.exit(0);
}
}

private JPanel buildContentPane(){
JPanel panel = new JPanel();
panel.setLayout(null);

label = new JLabel("Choisissez votre taux de compression:");
label.setBounds(330,510,300,25);
panel.add(label);

bouton = new JButton("OK");
bouton.addActionListener(new GereEditEvt());
bouton.setBounds(580,600,80,50);
panel.add(bouton);

JFileChooser fc = new JFileChooser();
//f=fc.getSelectedFile().getName();
//image = new JLabel(new ImageIcon("9personnes.jpg"));
image = new JLabel(new ImageIcon(fc.getSelectedFile().getName()));
image.setBounds(0,50,400,450);
panel.add(image);

label1 = new JLabel("0");
label1.setBounds(330,550,25,25);
panel.add(label1);

label2 = new JLabel("100");
label2.setBounds(870,550,25,25);
panel.add(label2);

sc=new Scrollbar(0,0,5,0,105);
//sc.setPreferredSize(new Dimension(500,20));

sc.setBounds(350,550,500,20);
panel.add(sc);
valeur = new TextField();
valeur.setText("T.C= "+ sc.getValue());
valeur.setEditable(true);

valeur.setBounds(800,600,75,25);
panel.add( valeur );

return panel;

}

/* public void paintComponent(Graphics g) {
// Appel à la méthode de la super-classe
// super.paintComponent(g);
// Dessin de l'image
g.drawImage(image, 0, 0, this);
}*/

public class GereEditEvt implements ActionListener{
public void actionPerformed(ActionEvent e)
{
valeur.setText("T.C= "+ sc.getValue());

}
}

public static void main(String[] args) {
//On crée une nouvelle instance de notre FenetreTexte
fen01 fenetre = new fen01();
fenetre.setVisible(true);//On la rend visible
}

public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
}
}

3 réponses

  1. tu veux dire, cliquer sur un bouton de l'interface pour afficher une image? si c'est le cas alors voila un code qui va peut etre t'aider un peu:

    import java.awt.*;

    import javax.swing.*;
    public class interfac
    {

    static public JFrame frame1,frame2,frame3,frame4;
    static public JMenuBar Menubar;
    static public JMenu Menufichier,Menuaction,Menuaide;
    static public JMenuItem nouveau,quitter,imprimer,compiler_fichier,compiler_texte,aprop;
    static public JButton boutton1,boutton2,boutton3,boutton4,boutton5,boutton6,boutton7,
    boutton8,boutton9,boutton10,boutton11,boutton12,boutton13;
    static public JLabel etiq1,etiq2,ettiq1,ettiq2,ettiq3,ettiq4,ettiq5,ettiq6,ettiq7,ettiq8,ettiq9,ettiq10,ettiq11;
    static public TextField champ1;
    static public JTextArea txtar1;
    static public JPanel pan,pan1,pan2,pan3,pann,pann1,pann2,pann3,pann4,pannn,pannn1,pannn2,onglet1,onglet2;
    static public JScrollPane scPan1,scPan2,scPan3,scPan4;
    static public JToolBar tobar1,tobar2;
    static public JTabbedPane onglets;

    static Ecouteur actionecoute =new Ecouteur();
    public static void main(String[]args)

    //PROGRAMMATION DE LA 3 FENETRE.
    //=================================================================================
    public static void fenetre3() {

    try {
    UIManager.setLookAndFeel
    ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    }catch (Exception e) {}

    frame3=new JFrame();
    frame3.setTitle("Analyseur Lexical Copyright : Oufella & Zemouri");
    frame3.setSize(800, 630);

    ettiq1=new JLabel (new ImageIcon("image/concepteur.gif"));
    ettiq2=new JLabel (new ImageIcon("image/redouane.jpg"));
    ettiq3=new JLabel (new ImageIcon("image/hocem.jpg"));
    ettiq4=new JLabel (new ImageIcon("image/barr.jpg"));
    ettiq5=new JLabel (new ImageIcon("image/red.gif"));
    ettiq6=new JLabel (new ImageIcon("image/hoc.gif"));
    ettiq7=new JLabel (new ImageIcon("image/bare.jpg"));
    ettiq8=new JLabel (new ImageIcon("image/bare.jpg"));
    ettiq9=new JLabel (new ImageIcon("image/bare.jpg"));
    ettiq10=new JLabel (new ImageIcon("image/separ.jpg"));
    ettiq11=new JLabel (new ImageIcon("image/separ.jpg"));

    boutton5=new JButton(new ImageIcon("image/retour.jpg"));
    boutton5.setToolTipText("Annuler");
    boutton5.setActionCommand("Commencer");
    boutton5.addActionListener(actionecoute);

    pann = new JPanel();
    pann1 = new JPanel();
    pann2= new JPanel();
    pann3= new JPanel();
    pann4= new JPanel();

    pann1.setLayout(new FlowLayout()) ;
    pann1.add(ettiq1);

    pann2.setLayout(new FlowLayout()) ;
    pann2.add(ettiq2);
    pann2.add(ettiq4);
    pann2.add(ettiq3);

    pann3.setLayout(new FlowLayout()) ;
    pann3.add(ettiq7);
    pann3.add(ettiq5);
    pann3.add(ettiq8);
    pann3.add(ettiq6);
    pann3.add(ettiq9);

    pann4.setLayout(new FlowLayout()) ;
    pann4.add(ettiq10);
    pann4.add(boutton5);
    pann4.add(ettiq11);

    pann.add(pann1);
    pann.add(pann2);
    pann.add(pann3);
    pann.add(pann4);

    frame3.getContentPane().add(pann);
    frame3.setVisible(true);
    }

    }

    tout ça est une fenetre ayant un menu et des boutons et quand je clique sur le bouton "a propos" , il affiche une image sur une nouvelle fenétre.
    0
    1. Merci pour l'aide mais ce dernier code ca marche pas car contient des erreurs, ;)
      0