Java
bonbino85
Messages postés
50
Statut
Membre
-
kij_82 Messages postés 4260 Statut Contributeur -
kij_82 Messages postés 4260 Statut Contributeur -
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;
}
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:
- Java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
1 réponse
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 :) ~
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 :) ~