Pb avec 2 Paint Component

niko29940242 Messages postés 112 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 7 novembre 2004 - 1 nov. 2004 à 23:58
niko29940242 Messages postés 112 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 7 novembre 2004 - 2 nov. 2004 à 12:04
bonsoir a tous voila j'ai une ptite kestion : je suppose qu'il est possible dans un meme prog (mais dans des classes differentes) d'utiliser deux fois paintComponent(Graphics g) mais ca marche pas chez moi !!!
voila mon code ::::::

class 1
--------
public class Test extends JFrame
{
JPanel pane = new JPanel ();

public Morpion()
{
setTitle(">>> Morpion v2.0 <<<");
setSize(250,300);

Terrain pl_jeu = new Terrain();
getContentPane().add(pl_jeu);
setVisible(true);
}

public static void main (String[] arguments)
{
new Test();
}
}

class 2
---------

public class Terrain extends JPanel implements MouseListener
{
public boolean[] test = new boolean[8];
public int i = 0;

// croix
ImageIcon imIc = new ImageIcon("croix.gif");
Image croix = imIc.getImage();

// rond
ImageIcon imIc2 = new ImageIcon("rond.gif");
Image rond = imIc2.getImage();

public int x , y;

JButton j1;
JButton j2;

public Terrain()
{
addMouseListener(this);

j1 = new JButton("joueur1");
j2 = new JButton("joueur2");
j1.setBackground(Color.white);
j2.setBackground(Color.white);
add(j1);
add(j2);
j1.setEnabled(true);
j2.setEnabled(false);

repaint();
}

public void paintComponent (Graphics g)
{
int i;
super.paintComponent(g);

// 1 ere colonne
g.drawRect(50,100,40,40);
g.drawRect(50,152,40,40);
g.drawRect(50,204,40,40);

// 2 eme colonne
g.drawRect(102,100,40,40);
g.drawRect(102,152,40,40);
g.drawRect(102,204,40,40);

// 3 eme colonne
g.drawRect(154,100,40,40);
g.drawRect(154,152,40,40);
g.drawRect(154,204,40,40);

for(i=0;i<13;i++)
{
g.drawLine(90+i,100,90+i,244);
g.drawLine(142+i,100,142+i,244);
g.drawLine(50,140+i,194,140+i);
g.drawLine(50,191+i,194,191+i);
}
}

public void mouseEntered(MouseEvent evt) { }
public void mouseExited(MouseEvent evt) { }
public void mousePressed(MouseEvent evt) { }
public void mouseReleased(MouseEvent evt){ }

public void mouseClicked(MouseEvent evt)
{
Object source = evt.getSource();
x = evt.getX();
y = evt.getY();

// on definit les contours des cases

// case 1
test[0] = (x>=50) & (x<=90) & (y>=100) & (y<=140);
if(test[0] == true )
new Rond( x, y);
}

}

class3
--------

public class Rond
{
// rond
ImageIcon imIc2 = new ImageIcon("rond.gif");
Image rond = imIc2.getImage();

public Rond(int x, int y)
{

}

public void paintComponent(Graphics g1,int x, int y)
{
super.paintComponent(g1);
g1.drawImage(rond,x,y,40,40,null);
}

}

Donc je resume : lorsqu'on clike sur une case alors le prog doit aller dans la class Rond et dessiner l'image rond.gif dans la case correspondante.

mais j'ai une erreur de ce type :
cannot resolve symbol methode paintComponent(java.awt.graphics)

je c pas tro koi faire alors si vous pouviez m'aidez !!!
thx all

NiKo [==;;;;;;;;;;;>

3 réponses

cs_Dobel Messages postés 333 Date d'inscription dimanche 25 mai 2003 Statut Membre Dernière intervention 23 novembre 2009 1
2 nov. 2004 à 07:14
ta classe Rond n'hérite d'aucun composant graphique. Elle ne possède aucune méthode paintComponent.

Avec le mot clé super, tu appelles une méthode paintComponent d'une classe parente, qui, ici, n'existe pas!!

Dobel
[Une fois rien, c'est rien; deux fois rien, ce n'est pas beaucoup, mais pour trois fois rien, on peut déjà s'acheter quelque chose, et pour pas cher]
0
niko29940242 Messages postés 112 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 7 novembre 2004
2 nov. 2004 à 11:56
ha ouai exact trop bete g completement oublié
bon toujour est-il que mon image rond ne s'affiche pas
tu sais pkoi ???
merci de ton aide

NiKo [==;;;;;;;;;;;>
0
niko29940242 Messages postés 112 Date d'inscription samedi 13 décembre 2003 Statut Membre Dernière intervention 7 novembre 2004
2 nov. 2004 à 12:04
parce qu'en fait je ne sais pas comment ajouter l'image au panel
(ja fe pas du java depuis lontem donc sois indulgent =] )
thx
NiKo [==;;;;;;;;;;;>
0
Rejoignez-nous