IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

pourquoi getWidth() peut-il être un nombre négatif


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2020
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2020
    Messages : 178
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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....

  2. #2
    Membre confirmé

    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2020
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2020
    Messages : 178
    Par défaut 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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pourquoi la feuille de style ne peut pas être chargée ?
    Par laurentSc dans le forum Mise en page CSS
    Réponses: 16
    Dernier message: 18/07/2016, 18h59
  2. Tester si une chaîne peut être un nombre d'un type particulier
    Par rambc dans le forum Général Python
    Réponses: 11
    Dernier message: 27/10/2009, 16h33
  3. Réponses: 8
    Dernier message: 20/07/2006, 12h30
  4. [68000] EXT nombre négatif
    Par fastzombi dans le forum Autres architectures
    Réponses: 2
    Dernier message: 02/05/2004, 12h17
  5. Réponses: 6
    Dernier message: 03/09/2003, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo