Java interface graphique
rouky
-
sassouki2 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
sassouki2 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit souci lors de la compilation de mon programme en java qui est censé dessiner un rond noir lors du click de ma souris dans une fenêtre.
Lors de la compilation de mon fichier PanneauDessin2.java j'obtiens de le message suivant:
PanneauDessin2.java:30: cannot find symbol
symbol : variable disque
location: class PanneauDessin2
disque.dessiner(g);
^
1 error
Voici mon code:
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.JFrame;
class FenetreDessin{
public static void main(String[] argv)
{
JFrame fenetre = new JFrame();
//le container de fenetre contient PanneauDessin
fenetre.setContentPane(new PanneauDessin2());
//localise la fenetre sur l'écran
fenetre.setLocation(100,100);
//dimensionnement de fenetre en fonction des composants qu'il contient
//et des gestionnaires de répartition
fenetre.pack();
fenetre.setVisible(true);
}
}
class PanneauDessin2 extends JPanel implements MouseListener{
PanneauDessin2()
{
setBackground(Color.white);
setPreferredSize(new Dimension(300,300));
addMouseListener(this);
}
public void mouseClicked(MouseEvent evt)
{
Disque disque = new Disque(evt.getX(),evt.getY(),5,Color.black);
}
public void mouseReleased(MouseEvent evt){}
public void mousePressed(MouseEvent evt) {}
public void mouseExited(MouseEvent evt){}
public void mouseEntered(MouseEvent evt){}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
disque.dessiner(g);
}
}
abstract class Forme{
//définition des deux attributs d'entrée pour l'abscisse et l'ordonnée du
//centre du rectangle circonscrit à la forme
int abs, ord;
//attributs entiers pour la largeur et la hauteur du rectangle circonscrit à la
//forme
int larg, longu;
// attribut pour la couleur de la forme
Color couleur;
//Constructeur permettant d'initialiser les cinq attributs
Forme(int abs,int ord,int larg,int longu,Color couleur)
{
this.abs=abs;
this.ord=ord;
this.larg=larg;
this.longu=longu;
this.couleur=couleur;
}
abstract void dessiner(Graphics g);
}
class Disque extends Forme{
// définition des attributs de la classe
int abs, ord, rayon;
Color couleur;
//constructeur qui invoque le constructeur de la classe Forme
Disque(int abs,int ord, int rayon, Color couleur)
{
super(abs,ord,rayon*2,rayon*2,couleur);
}
public void dessiner(Graphics g)
{
g.setColor(couleur);
g.fillOval(abs, ord, rayon*2, rayon*2);
}
}
Si quelqu'un pouvait me dire comment résoudre ce petit problème ce serait vraiment très sympa.
j'ai un petit souci lors de la compilation de mon programme en java qui est censé dessiner un rond noir lors du click de ma souris dans une fenêtre.
Lors de la compilation de mon fichier PanneauDessin2.java j'obtiens de le message suivant:
PanneauDessin2.java:30: cannot find symbol
symbol : variable disque
location: class PanneauDessin2
disque.dessiner(g);
^
1 error
Voici mon code:
import javax.swing.JPanel;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.JFrame;
class FenetreDessin{
public static void main(String[] argv)
{
JFrame fenetre = new JFrame();
//le container de fenetre contient PanneauDessin
fenetre.setContentPane(new PanneauDessin2());
//localise la fenetre sur l'écran
fenetre.setLocation(100,100);
//dimensionnement de fenetre en fonction des composants qu'il contient
//et des gestionnaires de répartition
fenetre.pack();
fenetre.setVisible(true);
}
}
class PanneauDessin2 extends JPanel implements MouseListener{
PanneauDessin2()
{
setBackground(Color.white);
setPreferredSize(new Dimension(300,300));
addMouseListener(this);
}
public void mouseClicked(MouseEvent evt)
{
Disque disque = new Disque(evt.getX(),evt.getY(),5,Color.black);
}
public void mouseReleased(MouseEvent evt){}
public void mousePressed(MouseEvent evt) {}
public void mouseExited(MouseEvent evt){}
public void mouseEntered(MouseEvent evt){}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
disque.dessiner(g);
}
}
abstract class Forme{
//définition des deux attributs d'entrée pour l'abscisse et l'ordonnée du
//centre du rectangle circonscrit à la forme
int abs, ord;
//attributs entiers pour la largeur et la hauteur du rectangle circonscrit à la
//forme
int larg, longu;
// attribut pour la couleur de la forme
Color couleur;
//Constructeur permettant d'initialiser les cinq attributs
Forme(int abs,int ord,int larg,int longu,Color couleur)
{
this.abs=abs;
this.ord=ord;
this.larg=larg;
this.longu=longu;
this.couleur=couleur;
}
abstract void dessiner(Graphics g);
}
class Disque extends Forme{
// définition des attributs de la classe
int abs, ord, rayon;
Color couleur;
//constructeur qui invoque le constructeur de la classe Forme
Disque(int abs,int ord, int rayon, Color couleur)
{
super(abs,ord,rayon*2,rayon*2,couleur);
}
public void dessiner(Graphics g)
{
g.setColor(couleur);
g.fillOval(abs, ord, rayon*2, rayon*2);
}
}
Si quelqu'un pouvait me dire comment résoudre ce petit problème ce serait vraiment très sympa.
A voir également:
- Java interface graphique
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Changer carte graphique - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages