Probleme d'exécution de code java

ghaouar Messages postés 174 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 19031 Statut Modérateur -
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 39984 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
Bonjour

si tu donnais le code d'erreur, ça aiderait
0
ghaouar Messages postés 174 Date d'inscription   Statut Membre Dernière intervention  
 
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 19031 Statut Modérateur 3 020
 
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   Statut Membre Dernière intervention  
 
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 19031 Statut Modérateur 3 020
 
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   Statut Membre Dernière intervention  
 
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 19031 Statut Modérateur 3 020
 
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   Statut Membre Dernière intervention  
 
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 19031 Statut Modérateur 3 020
 
Regarde ReplicateScaleFilter et RGBImageFilter... ou Google.
0