Corriger le code d'erreur en java

Fermé
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012 - 29 avril 2011 à 22:54
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 30 avril 2011 à 15:55
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
A voir également:

3 réponses

choubaka Messages postés 39376 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 29 avril 2024 2 101
30 avril 2011 à 07:36
Bonjour

Sans voir le code, pas facile de corriger
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
30 avril 2011 à 15:13
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
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
30 avril 2011 à 15:55
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