Corriger le code d'erreur en java

ghaouar Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 19031 Statut Modérateur -
Salut,

SVP aider a corriger cette erreur qui s'affiche lors de exécution de mon code JAVA

le code est :
java.lang.ClassCastException: MonBouton cannot be cast to java.awt.event.ActionListener

3 réponses

  1. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
     
    Bonjour

    Sans voir le code, pas facile de corriger
    0
  2. ghaouar Messages postés 174 Date d'inscription   Statut Membre Dernière intervention  
     
    import java.awt.BorderLayout.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.geom.AffineTransform;
    import java.awt.image.AffineTransformOp;
    import java.awt.image.BufferedImage;
    import java.awt.*;
    import javax.swing.*;
    import java.io.File;
    import java.io.PrintWriter;

    import javax.swing.*;
    public class MonBouton extends JFrame{
    private final Action_bouton zone_img = new Action_bouton();
    private JButton ouvrir = new JButton("", new ImageIcon("D:\\importer.gif"));
    private JButton enregistrer = new JButton("", new ImageIcon("D:\\enregitrer.gif"));
    private JButton assombrir = new JButton("", new ImageIcon("D:\\SOMBRE.gif"));
    private JButton agrandir = new JButton("", new ImageIcon("D:\\agrandir.gif"));
    private JButton reduire = new JButton("", new ImageIcon("D:\\REDUIRE.gif"));
    private JButton niveau_gris = new JButton("", new ImageIcon("D:\\niveau_gris.gif"));
    private JButton brillance = new JButton("", new ImageIcon("D:\\bRILLANCE.gif"));
    private JButton binairisation = new JButton("", new ImageIcon("D:\\reglage.gif"));

    MonBouton () {

    JPanel X = new JPanel();
    X.setLayout(null); // rendre le latout nuul pour que setBound de boutton ca marche

    //setBounds(int positionX, int positionY, int tailleX, int tailleY) xant la position sur l'écran ainsi que la taille.
    ouvrir.setBounds(30, 50, 230, 60);
    X.add ( ouvrir ) ;
    ouvrir.addActionListener(null);

    enregistrer.setBounds(30, 120, 230, 60);
    X.add ( enregistrer ) ;
    enregistrer.addActionListener(null);

    niveau_gris.setBounds(30, 190, 230, 60);
    X.add ( niveau_gris ) ;
    niveau_gris.addActionListener(null);

    assombrir.setBounds(30, 260, 230, 60);
    X.add ( assombrir) ;
    assombrir.addActionListener(null);

    binairisation.setBounds(30, 330, 230, 60);
    X.add ( binairisation) ;
    binairisation.addActionListener(null);

    agrandir.setBounds(30, 400, 230, 60);
    X.add ( agrandir ) ;
    agrandir.addActionListener(null);

    reduire.setBounds(30, 470, 230, 60);
    X.add ( reduire ) ;
    reduire.addActionListener(null);

    brillance.setBounds(30, 540, 230, 60);
    X.add( brillance );
    brillance.addActionListener(null);

    getContentPane().add(zone_img);
    //option de la fenetre
    add(X);
    setBounds(0, 0, 950, 700) ;
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    setTitle("Ma Fenetre") ;
    }
    // les actions des boutton
    public void actionPerformed(ActionEvent e) {
    Object source = e.getSource();
    if (source==ouvrir)
    {
    JFileChooser fileOuvrirImage = new JFileChooser();
    if (fileOuvrirImage.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
    zone_img.ajouterImage(new File(fileOuvrirImage.getSelectedFile()
    .getAbsolutePath()));
    }
    } else if (source==enregistrer) {
    JFileChooser fileEnregistrerImage = new JFileChooser();
    if (fileEnregistrerImage.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
    File fichierEnregistrement = new File(fileEnregistrerImage.getSelectedFile().getAbsolutePath()+ ".JPG");
    zone_img.enregistrerImage(fichierEnregistrement);
    }

    } else
    if (source == niveau_gris) {
    zone_img.imageEnNiveauGris();
    } else if (source == brillance) {
    zone_img.imageEclaircie();
    } else if (source == binairisation) {
    zone_img.imageBinaire();
    } else if (source == agrandir) {
    zone_img.agrandirImage();
    } else if (source == reduire) {
    zone_img.reduireImage();
    }else if(source == assombrir){
    zone_img.imageSombre();
    }
    }

    public static void main(String args[])
    {
    try {
    MonBouton frame = new MonBouton();
    frame.setVisible(true);
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    Il y a des balises de codes pour éviter de perdre l'indentation de ton code, le mieux serait de s'en servir ;)

    Sinon, vu que tu n'a pas mis tout ton code, j'ai essayé de "deviner" ce qu'il manquait, mais du coup je n'ai pas d'erreur...

    import java.awt.Component;
    import java.awt.event.ActionEvent;
    
    import java.io.File;
    
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.WindowConstants;
    
    class Action_bouton extends Component
    {
        private static final long serialVersionUID = 1L;
        public void imageSombre() {}
        public void reduireImage() {}
        public void agrandirImage() {}
        public void imageBinaire() {}
        public void imageEclaircie() {}
        public void imageEnNiveauGris() {}
        public void enregistrerImage(File fichierEnregistrement) {}
        public void ajouterImage(File file) {}    
    }
    
    public class MonBouton extends JFrame
    {
        private static final long serialVersionUID = 1L;
        private final Action_bouton zone_img = new Action_bouton();
        private JButton ouvrir = new JButton("", new ImageIcon("D:\\importer.gif"));
        private JButton enregistrer = new JButton("", new ImageIcon("D:\\enregitrer.gif"));
        private JButton assombrir = new JButton("", new ImageIcon("D:\\SOMBRE.gif"));
        private JButton agrandir = new JButton("", new ImageIcon("D:\\agrandir.gif"));
        private JButton reduire = new JButton("", new ImageIcon("D:\\REDUIRE.gif"));
        private JButton niveau_gris = new JButton("", new ImageIcon("D:\\niveau_gris.gif"));
        private JButton brillance = new JButton("", new ImageIcon("D:\\bRILLANCE.gif"));
        private JButton binairisation = new JButton("", new ImageIcon("D:\\reglage.gif"));
    
        MonBouton ()
        {
            JPanel X = new JPanel();
            X.setLayout(null); // rendre le latout nuul pour que setBound de boutton ca marche
                
            //setBounds(int positionX, int positionY, int tailleX, int tailleY) xant la position sur l'écran ainsi que la taille.
            ouvrir.setBounds(30, 50, 230, 60);
            X.add ( ouvrir ) ;
            ouvrir.addActionListener(null);
            
            enregistrer.setBounds(30, 120, 230, 60);
            X.add ( enregistrer ) ;
            enregistrer.addActionListener(null);
            
            niveau_gris.setBounds(30, 190, 230, 60);
            X.add ( niveau_gris ) ;
            niveau_gris.addActionListener(null);
            
            assombrir.setBounds(30, 260, 230, 60);
            X.add ( assombrir) ;
            assombrir.addActionListener(null);
                
            binairisation.setBounds(30, 330, 230, 60);
            X.add ( binairisation) ;
            binairisation.addActionListener(null);
                
            agrandir.setBounds(30, 400, 230, 60);
            X.add ( agrandir ) ;
            agrandir.addActionListener(null);
                
            reduire.setBounds(30, 470, 230, 60);
            X.add ( reduire ) ;
            reduire.addActionListener(null);
                
            brillance.setBounds(30, 540, 230, 60);
            X.add( brillance );
            brillance.addActionListener(null);
            
            getContentPane().add(zone_img);
            //option de la fenetre
            add(X);
            setBounds(0, 0, 950, 700) ;
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            setTitle("Ma Fenetre") ;
        }
            
        // les actions des boutton
        public void actionPerformed(ActionEvent e) 
        {
            Object source = e.getSource();
            
            if (source==ouvrir)
            {
                JFileChooser fileOuvrirImage = new JFileChooser();
                if (fileOuvrirImage.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) 
                {
                    zone_img.ajouterImage(new File(fileOuvrirImage.getSelectedFile()
                                                .getAbsolutePath()));
                }
            } 
            else if (source==enregistrer) 
            {
                JFileChooser fileEnregistrerImage = new JFileChooser();
                if (fileEnregistrerImage.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) 
                {
                File fichierEnregistrement = new File(fileEnregistrerImage.getSelectedFile().getAbsolutePath()+ ".JPG");
                zone_img.enregistrerImage(fichierEnregistrement);
                }        
            } 
            else if (source == niveau_gris)
                zone_img.imageEnNiveauGris();
            else if (source == brillance) 
                zone_img.imageEclaircie();
            else if (source == binairisation)
                zone_img.imageBinaire();
            else if (source == agrandir)
                zone_img.agrandirImage();
            else if (source == reduire)
                zone_img.reduireImage();
            else if(source == assombrir)
                zone_img.imageSombre();
        }
        
        public static void main(String args[])
        {
            try
            {
                MonBouton frame = new MonBouton();
                frame.setVisible(true);
            } 
            catch (Exception e) 
            {
                e.printStackTrace();
            }
        }
    }
    0