pourquoi getWidth() peut-il être un nombre négatif
Bonjour, j'ai une question qui me dérange car je me suis fais piéger, sur les dimensions "height" et "width" des objets graphiques avec Swing.
Je redimensionne des segments, (morceaux de droites) et je m'aperçois que la largeur, comme le hauteur apparemment peuvent être des nombres négatifs.
j'ai d'ailleurs effectué ceci :
Code:
1 2
| w_modulable = Var.fil5[f].segment2.getWidth() - Const.comp_w/2;
System.out.println("dans calculs préliminaires, seg2getwidth()= " + Var.fil5[f].segment2.getWidth() + " Const.comp_w/2= " + Const.comp_w/2 + " w_modulable= " + w_modulable); |
Le problème est que la largeur semble considérée négative...
Code:
dans calculs préliminaires, seg2getwidth()= -87 Const.comp_w/2= 40 w_modulable= -127
Mes questions les suivantes :
1/ Comment se fait-il que le retour d'une largeur ou d'une hauteur soit négative ou positive? Comment le Programme fait-il ce choix?
2/ Je peux neutraliser cela en utilisant Math.abs(), mais comment prévoir que le retour va être un nombre négatif?
3/ comment faire comprendre au programme que je souhaite simplement un nombre de pixel pour une longueur ou largeur, sans problème de signe??
Merci à tous pour vous idées....
Rien de tel qu'une nuit de sommeil
bonjour à tous,
désolé pour le dérangement, car après une nuit bien utile, la réponse est évidente et le problème n'en est plus un...
Si j'ai une valeur négative, c'est tout simplement parce que j'ai mis moi-même une valeur négative dans cette variable, certes, sans le vouloir, dans un traitement fait en amont, et donc, il faut tout simplement que je corrige cette erreur, qui apparait ensuite quand je veux utiliser la largeur par "getWidth')", et que je m'aperçois que j'y ai stocké, par erreur de traitement au début, une valeur qui se révèle négative.
Je préfère ça, car mon approche reste cohérente.
Merci pour vos lectures et désolé si j'ai semblé un peu étrange.