Probleme avec la classse point de java.awt
Fermé
zizosoft
Messages postés
6
Date d'inscription
jeudi 21 mars 2013
Statut
Membre
Dernière intervention
10 octobre 2013
-
18 avril 2013 à 14:25
zizosoft Messages postés 6 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 10 octobre 2013 - 19 avril 2013 à 20:13
zizosoft Messages postés 6 Date d'inscription jeudi 21 mars 2013 Statut Membre Dernière intervention 10 octobre 2013 - 19 avril 2013 à 20:13
A voir également:
- Probleme avec la classse point de java.awt
- Point de suite word - Guide
- Point de restauration - Guide
- Créer une carte avec des points - Guide
- Point d'exclamation à l'envers ✓ - Forum Word
- Point gps - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
18 avril 2013 à 18:47
18 avril 2013 à 18:47
Difficile de t'aider exactement sans avoir plus d'information, mais d'un point de vue général, la méthode setLocation positionne le Component aux coordonnées du Container auquel il est ajouté (et non pas aux coordonnées de la fenêtre) ce qui provoque un décalage. Regardes donc quel est le système de coordonnées que tu veux utiliser et celui que tu utilises vraiment, dans ce cas tu seras amené à faire un décalage comme ceci :
Remplacer : component.setLocation(x,y) par :
Point pt = component.getParent().getLocation();
component.setLocation(pt.getX()+x,pt.getY()+y);
Remarque : ce code permet de positionner le point avec le système de coordonnées du Container component.getParent().getParent() à la place de celui du component.getParent(), mais si tu as plusieurs Container imbriqués cela n'est pas suffisant, il faudrait pouvoir répéter l'opération jusqu'à atteindre la JFrame, afin de travailler directement dans les coordonnées de la JFrame... Mais cela dépend bien sûr de la manière dont tu as conçu ton interface graphique.
Remplacer : component.setLocation(x,y) par :
Point pt = component.getParent().getLocation();
component.setLocation(pt.getX()+x,pt.getY()+y);
Remarque : ce code permet de positionner le point avec le système de coordonnées du Container component.getParent().getParent() à la place de celui du component.getParent(), mais si tu as plusieurs Container imbriqués cela n'est pas suffisant, il faudrait pouvoir répéter l'opération jusqu'à atteindre la JFrame, afin de travailler directement dans les coordonnées de la JFrame... Mais cela dépend bien sûr de la manière dont tu as conçu ton interface graphique.
zizosoft
Messages postés
6
Date d'inscription
jeudi 21 mars 2013
Statut
Membre
Dernière intervention
10 octobre 2013
19 avril 2013 à 19:06
19 avril 2013 à 19:06
merci beaucoup kx, elle dé ta reponse m'a vraiment aidé ta reponse, et j'ai pu resoudre mon probleme, cependant, j'ai une autre question, j'essai de dessiner une forme avec la classe GeneralPath, je le dessine mais voila il s'affiche pas, voila on bout de code:
public boolean dessiner(Graphics g)
{
if(cote>=0)
{
g.setColor(getCouleur());
GeneralPath path=new GeneralPath();
path.moveTo(0,0);// deplace le crayon sans ecrire
//Dessine une quadrique
path.quadTo(this.getPosition().getX(),this.getPosition().getY(),cote,cote);
//on trace des lignes
path.lineTo(0,cote);
path.lineTo(cote,cote);
path.lineTo(cote,0);
path.lineTo(0,0);
path.closePath();
return true;
}
else return false;
}
public boolean dessiner(Graphics g)
{
if(cote>=0)
{
g.setColor(getCouleur());
GeneralPath path=new GeneralPath();
path.moveTo(0,0);// deplace le crayon sans ecrire
//Dessine une quadrique
path.quadTo(this.getPosition().getX(),this.getPosition().getY(),cote,cote);
//on trace des lignes
path.lineTo(0,cote);
path.lineTo(cote,cote);
path.lineTo(cote,0);
path.lineTo(0,0);
path.closePath();
return true;
}
else return false;
}
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 avril 2013 à 19:23
19 avril 2013 à 19:23
Je ne connais pas cette classe GeneralPath, mais voici le cours officiel dessus :
Lesson: Working with Geometry
Lesson: Working with Geometry
zizosoft
Messages postés
6
Date d'inscription
jeudi 21 mars 2013
Statut
Membre
Dernière intervention
10 octobre 2013
19 avril 2013 à 20:13
19 avril 2013 à 20:13
merci beaucoup