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 -
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
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
-
Bonjour
Sans voir le code, pas facile de corriger
-
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();
}
}
} -
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(); } } }