Probleme d'exécution de code java

Fermé
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012 - 24 avril 2011 à 02:02
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 25 avril 2011 à 20:00
Salut,
je créer ce code je trouve une problème ? aider moi a résoudre cette problème ?

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.*;
public class MonBouton {
public static void main(String argv[]) {
JFrame f = new JFrame("ma fenetre");
JPanel X = new JPanel();
X.setLayout(null); // rendre le latout nuul pour que setBound de boutton ca marche

Icon warnIcon = new ImageIcon ( "D:\\images.gif" ) ;
JButton ouvrir = new JButton ( warnIcon ) ;
//setBounds(int positionX, int positionY, int tailleX, int tailleY) xant la position sur l'écran ainsi que la taille.
ouvrir.setBounds(30, 50, 190, 60);
X.add ( ouvrir ) ;
ouvrir.addActionListener(null);


Icon warnIcon6 = new ImageIcon ( "D:\\images-photos-icone96.gif" ) ;
JButton quitter = new JButton ( warnIcon6 ) ;
quitter.setBounds(30, 330, 190, 60);
X.add( quitter );
quitter.addActionListener(null);


// les actions des boutton

public void actionPerformed(ActionEvent e) { ////////// le problème est dans cet ligne

if (e.getSource().equals(ouvrir))
{
// ouvrir une image

}
else if (e.getSource().equals(quitter))
{
// Faire la convolution mathématique suivant un masque donné

}
}

// option de la fenetre
f.add(X);
f.setBounds(0, 0, 950, 700) ;
f.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
f.setVisible(true);
}
}
A voir également:

6 réponses

choubaka Messages postés 39375 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 14 avril 2024 2 100
24 avril 2011 à 06:56
Bonjour

si tu donnais le code d'erreur, ça aiderait
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
24 avril 2011 à 14:56
Bonjour,
voila le code d'erreur qui s'affiche.

Exception in thread "main" java.lang.Error: Unresolved compilation problems:

void is an invalid type for the variable actionPerformed
Syntax error on token "(", ; expected
Syntax error on token ")", ; expected
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 24/04/2011 à 15:05
Tu n'as pas fermé l'accolade de la méthode main avant de définir actionPerformed
La confiance n'exclut pas le contrôle
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
25 avril 2011 à 19:03
merci pour l'aide,
SVP aussi si tu peut m'aider a corriger cette erreur,
voila la ligne qui contient l'erreur
-------------------------------------------------------------
image.setIcon(new ImageIcon(fichier.getPath()));
--------------------------------------------------------------
voila le code d'erreur,

The method setIcon(ImageIcon) is undefined for the type BufferedImage

et si je clique sur l'aide il m'affiche ce code:
-------------------------------------------------------------------
((AbstractButton) image).setIcon(new ImageIcon (fichier.getPath()));

Merci
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
Modifié par KX le 25/04/2011 à 19:15
Donne nous ton code, car on ne peut pas deviner ce qu'est image ou fichier...
Que l'on sache au moins quels sont les types de ces deux objets...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
25 avril 2011 à 19:18
import java.beans.*;
import java.io.File;
import java.io.IOException;
import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.text.*;
import javax.imageio.ImageIO;
import javax.swing.event.*;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;




public class barre_action extends JFrame {
private JToolBar barreBoutons = new JToolBar();
private JFileChooser sélecteur = new JFileChooser("C:/Photos");
private BufferedImage image ;
private double réduction;
private BufferedImage imageOriginale, source ;
private Historique historique = new Historique();
private JPanel editeur = new JPanel();



public barre_action() {
super("Les boîtes de dialogue");
barreBoutons.add(new AbstractAction("Ouvrir", new ImageIcon("D:\\importer.gif")) {
public void actionPerformed(ActionEvent e) {
JFileChooser sélecteur = new JFileChooser();
sélecteur.setFileFilter(new Filtre());
if (sélecteur.showDialog(barre_action.this, "Sélectionner votre image")==JFileChooser.APPROVE_OPTION) {
File fichier = sélecteur.getSelectedFile();
setTitle(fichier.getPath());
editeur.setIcon(new ImageIcon(fichier.getPath()));
}
}
});
barreBoutons.add(new AbstractAction("Enregistrer", new ImageIcon( "D:\\enregitrer.gif" )) {
public void actionPerformed(ActionEvent e) {
if (sélecteur.showSaveDialog(barre_action.this)==JFileChooser.APPROVE_OPTION) {
try {
File fichier = sélecteur.getSelectedFile();
ImageIO.write((RenderedImage) image.getRaster(), "JPEG", fichier);
}
catch (IOException ex) {
setTitle("Problème d'enregistrement de fichier");
}
}
}
});
barreBoutons.add(new AbstractAction("Réglage", new ImageIcon( "D:\\reglage.gif" ))
{
public void actionPerformed(ActionEvent e) {

}
});
barreBoutons.add(new AbstractAction("Zoomer", new ImageIcon( "D:\\zoomer.gif"))
{
public void actionPerformed(ActionEvent e) {
String valeur = JOptionPane.showInputDialog("Nouvelle largeur de l'image ?", 1024);
réduction = Double.parseDouble(valeur)/imageOriginale.getWidth();
source = new BufferedImage((int)(imageOriginale.getWidth()*réduction), (int)(imageOriginale.getHeight()*réduction), imageOriginale.getType());
AffineTransform retailler = AffineTransform.getScaleInstance(réduction, réduction);
int interpolation = AffineTransformOp.TYPE_NEAREST_NEIGHBOR;
AffineTransformOp retaillerImage = new AffineTransformOp(retailler, interpolation);
retaillerImage.filter(imageOriginale, source);
copieSourceImage();
historique.ajout("changerTaille");
}


}
);
barreBoutons.add(new AbstractAction("img_principale", new ImageIcon( "D:\\img_principale.gif" ))
{
public void actionPerformed(ActionEvent e) {

}
});
barreBoutons.add(new AbstractAction("Imprimer", new ImageIcon( "D:\\imprimer.gif"))
{
public void actionPerformed(ActionEvent e) {

}
});
barreBoutons.add(new AbstractAction("Help", new ImageIcon( "D:\\Help.gif" ))
{
public void actionPerformed(ActionEvent e) {

}
});
barreBoutons.add(new AbstractAction("Quitter", new ImageIcon( "D:\\quitter.gif" ))
{
public void actionPerformed(ActionEvent e) {

}
});
add(editeur);
barreBoutons.setBounds(0, 0, 800, 600);
add(BorderLayout.NORTH, barreBoutons);
setSize(400, 380);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private void copieSourceImage() {
this.image = new BufferedImage(source.getWidth(), source.getHeight(), source.getType());
Graphics2D dessin = this.image.createGraphics();
dessin.drawImage(source, null, null);
repaint();

}
public void sauvegarder() throws IOException {
BufferedImage transfert;
String fichier = JOptionPane.showInputDialog("Nom du fichier ?", "image.jpg");

if (historique.existe("changerTaille")) {
transfert = new BufferedImage((int)(imageOriginale.getWidth()*réduction), (int)(imageOriginale.getHeight()*réduction), imageOriginale.getType());
AffineTransform retailler = AffineTransform.getScaleInstance(réduction, réduction);
int interpolation = AffineTransformOp.TYPE_BICUBIC;
AffineTransformOp retaillerImage = new AffineTransformOp(retailler, interpolation);
retaillerImage.filter(imageOriginale, transfert);
} }
private class Filtre extends FileFilter {
@Override
public boolean accept(File fichier) {
return fichier.getName().toLowerCase().endsWith(".gif") || fichier.isDirectory();
}

@Override
public String getDescription() {
return "Images GIF";
}
}
public static void main(String[] args) { new barre_action(); }


}
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 avril 2011 à 19:28
editeur est un JPanel or cette classe n'a pas de méthode setIcon.
Tu dois pouvoir mettre dans editeur un JLabel, et utiliser la méthode setIcon sur celui-ci...
0
ghaouar Messages postés 174 Date d'inscription jeudi 10 avril 2008 Statut Membre Dernière intervention 22 avril 2012
25 avril 2011 à 19:35
Merci pour l'aide, elle ca marche,
maintenant il me reste une méthode qui me permet de changer la taille de l'image ( agrandir et minimiser) et une méthode pour rendre l'image noir blanc.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
25 avril 2011 à 20:00
Regarde ReplicateScaleFilter et RGBImageFilter... ou Google.
0