Coordonnées d'un element

cs_ryadus Messages postés 64 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 21 octobre 2008 - 1 déc. 2004 à 11:57
cs_ryadus Messages postés 64 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 21 octobre 2008 - 5 déc. 2004 à 10:15
Salut;
Sur mon JPanel, j'ai dessiné un petit rectangle:
Rectangle2D rect1 =new Rectangle2D.Double(300,100,5,5);

Ces coordonées sont normalemet:
x= 300 et y=100;
Mais comme dans ma feêntre il ya une barre de menu, et que le JPanel à une taille aussi, alors les coordonées dans mon element changent, j'aimerai alors savoir svp, comment les retrouver par code ???
Merci

4 réponses

kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
1 déc. 2004 à 13:13
kaloway

tout simplement en faisant rect1.getX() et rect1.getY().
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
1 déc. 2004 à 19:32
GodConan :clown)

et bien toute les coord que l on peu obtenir d un objet sont toujours prises relativement au conteneur donc il faut toujour gerer tes changement de repere mais tu as aussi la possibilité d obtenir les coord par rapport a l ecran (getscreenlocation() ) donc cela te laisse pas mal de possibilité ;o)

GL

++
0
cs_ryadus Messages postés 64 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 21 octobre 2008
2 déc. 2004 à 11:05
Merci
Mais pour faire
rect1.getX() et rect1.getY().

il faut que rect1 soit dans la même class où je veux l'appeler, mais dans mon code ce n'est pas le cas,
Alors lorsque j'essaye de faire un test sur les oordonées de rect1, rect1 n'es pas reconnu ???

Merci encore de votre aide
0
cs_ryadus Messages postés 64 Date d'inscription mardi 7 janvier 2003 Statut Membre Dernière intervention 21 octobre 2008
5 déc. 2004 à 10:15
Salut;
Au fait je veux retrouver les coordonées de rect1 et rect2 que j'ai créer comme ça:

public void paintComponent(Graphics g) {
    super.paintComponent(g);
        Graphics2D g2 =(Graphics2D) g;
        Rectangle2D rect1 =new Rectangle2D.Double(300,100,5,5);
        Rectangle2D rect2 =new Rectangle2D.Double(400,200,5,5);

        g2.draw(rect1);
        g2.draw(rect2);    
        }


Vous allez me dire que pour rect1 c'est (300,100) et pour rect2 (400,200), mais dans ma fenêtre ya une barre de menu et un JPanel, ce qui décale les coordonées...

et là où je veux trouver les coordonnées pour faire des tests, rect 1 et rect2 ne sont pas reconnu, c'est tojours dans la même class, mais dans un autre "public" alors lorsque je fais rec1.getX(); sa ne marche pas ...

Je veux faire des tests ici:

public void mousePressed(MouseEvent e){
Point point = e.getPoint();
if (point.getX() < rect1.getX + 5) {...}
...
}


Voilà, j'espère que vous avez compris mon problème;
Merci encore de votre aide;
0
Rejoignez-nous