Java

Fermé
bonbino85 Messages postés 49 Date d'inscription mercredi 17 octobre 2007 Statut Membre Dernière intervention 2 août 2010 - 13 mars 2008 à 12:47
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 13 mars 2008 à 13:33
Bonjour,
veullie m'aider SVP quand je compile se code il m'affiche ce message


MaFenetre.java:5: MaFenetre is not abstract and does not override abstract metho
d itemStateChanged(java.awt.event.ItemEvent) in java.awt.event.ItemListener
class MaFenetre extends JFrame implements ActionListener,FocusListener,ItemLis
tener
^
1 error




voila le code



import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
class MaFenetre extends JFrame implements ActionListener,FocusListener,ItemListener
{

static public final String[] nomCouleurs ={"rouge","vert","jaune","bleu"};
static public final Color[] couleurs ={Color.red,Color.green,Color.yellow,Color.blue};



public MaFenetre()
{ setTitle("FIGURES");
setSize(500,500);

Container contenu= getContentPane();
/***paneauDessin***/

panDes=new PaneauDessin();
contenu.add(panDes);

panDes.setBackground(Color.cyan);//paneau initialement bleu
/***paneau pour les commandes***/

panCom=new JPanel();
contenu.add (panCom,"south");
/*choix pour les couleurs*/
comboCoulFond=new JComboBox(nomCouleurs);
panCom.add(comboCoulFond);
comboCoulFond.addItemListener(this);
/*choix dimension*/
JLabel dim =new JLabel("DIMENSION");
panCom.add(dim);
txtLargeur=new JTextField("50",5);
txtLargeur.addActionListener(this);
txtLargeur.addFocusListener(this);
panCom.add(txtLargeur);
txtHauteur=new JTextField("20",5);
panCom.add(txtHauteur);
txtHauteur.addActionListener(this);
txtHauteur.addFocusListener(this);
/*choix forme*/
cOvale=new JCheckBox("Ovale");
panCom.add(cOvale);
cOvale.addActionListener(this);
cRectangle=new JCheckBox("Rectangle");
panCom.add(cRectangle);
cRectangle.addActionListener(this);
}
public void actionPerformed(ActionEvent ev)
{if (ev.getSource()==txtLargeur) setLargeur();
if(ev.getSource()==txtHauteur) setHauteur();
if(ev.getSource()==cOvale) panDes.setOvale(cOvale.isSelected());
if(ev.getSource()==cRectangle) panDes.setRectangle(cRectangle.isSelected());
panDes.repaint();
}
public void focusLost(FocusEvent e)
{if (e.getSource()==txtLargeur)
{setLargeur();
System.out.println("perte focus largeur");
panDes.repaint();
}
if (e.getSource()==txtHauteur)
{setHauteur();
panDes.repaint();
}
}
public void focusGained (FocusEvent e)
{}
private void setLargeur()
{String ch=txtLargeur.getText();
System.out.println("largeur" + ch);
panDes.setLargeur (Integer.parseInt(ch));
}
private void setHauteur()
{String ch=txtHauteur.getText();
System.out.println("hauteur" + ch);
panDes.setHauteur (Integer.parseInt(ch));
}
public void itemStatechanged(ItemEvent e)
{String couleur=(String)comboCoulFond.getSelectedItem();
panDes.setCouleur(couleur);
}
private PaneauDessin panDes;
private JPanel panCom;
private JComboBox comboCoulFond;
private JTextField txtLargeur,txtHauteur;
private JCheckBox cOvale,cRectangle;
}
class PaneauDessin extends JPanel
{public void paintComponent(Graphics g)
{super.paintComponent(g);
if(ovale) g.drawOval(10,10,10 +largeur,10+hauteur);
if(rectangle)g.drawRect(10,10,10 +largeur,10 + hauteur);
}
public void setRectangle(boolean b) {rectangle=b;}
public void setOvale(boolean b) { ovale=b;}
public void setLargeur (int l){largeur=l;}
public void setHauteur(int h){hauteur=h;}


public void setCouleur(String c)
{for(int i= 0;i<MaFenetre.nomCouleurs.length;i++)
if(c==MaFenetre.nomCouleurs[i]) setBackground(MaFenetre.couleurs[i]);
}
private boolean rectangle=false,ovale=false;
private int largeur =50, hauteur=50;
}
A voir également:

1 réponse

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
13 mars 2008 à 13:33
Peut-être parce que cette méthode n'est pas utilisable sur un objet qui étend la classe JFrame (donc de type fenêtre), mais uniquement sur les objets de type "selectbox", "selectlist", etc.
Tu as l'équivalent de ta méthode pour l'appliquer à une classe de type window :
WindowStateListener



~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~
0