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

JavaFX Discussion :

Piechart : coupler une valeur additionnelle


Sujet :

JavaFX

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut Piechart : coupler une valeur additionnelle
    Bonjour à tous,

    Pour un carnet de vol, dans un tableau de synthèse je construit un piechart avec les différents engins utilisés. Le libellé de ces engins peut être long. Pour des raison d'espaces disponible, je suis obligé de limiter le nombre de caractères à 5 pour les labels du piechart. Problème : un pilote peut avoir utilisé un engin nommé MENTOR 5 et un engin nommé MENTOR 4. Ces deux engins apparaissent uniquement sous le terme "MENTO" dans la légende.

    Je voudrais afficher l'intégralité du nom de l'engin utilisé plus le nombre d'heures de vol (PieValue) avec un clic sur la tranche concernée ou un tooltip . Problème je ne récupère que les deux valeurs stockées dans l' ObservableList<PieChart.Data> par les fonctions getName() et getPieValue() donc le nom de l'engin tronqué à cinq lettres.

    Au moment où j'affecte les valeurs à l'ObservableList<PieChart.Data>, j'ai songé remplir un ArrayList en parallèle. Mais dans ce cas, comment faire pour obtenir l'index de la tranche cliquée ou survolée ? Y a t il une autre solution ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    Finalement je viens de trouver une solution sur stackoverflow. On prend le problème à l'inverse. On affecte le nom complet dans l'ObservableList<PieChart.Data> et on affiche la légende avec des noms tronçonnés. Après avoir affecter les valeurs, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    for (Node node : pieChart1.lookupAll(".chart-legend-item")) {
        if (node instanceof Label) {
            System.out.println("Label instance");
            ((Label) node).setWrapText(false);
            ((Label) node).setManaged(true);
            ((Label) node).setPrefWidth(70);
        }
    }

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Ça semble être un bon palliatif pour débuter. Après il ne faut pas oublier de tester a nouveau cela lorsque de nouvelles version sortent puisque comme a chaque fois des qu'on bidouille un peu l’intérieur d'un contrôle ça peut changer sans prévenir.

    Il ne faut pas hésiter non plus a se recréer des nouveaux contrôles si besoin, la lib de charts par défaut étant quand même assez limitée avec peu d’interaction possible avec ses sous-parties/sous-controles (ex : la légende)
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 141
    Points : 109
    Points
    109
    Par défaut
    il ne faut pas oublier de tester a nouveau cela lorsque de nouvelles version sortent
    Je n'y avais pas pensé... Tu as validé le code utilisé, je peux donc avoir la conscience tranquille

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

Discussions similaires

  1. Passer une valeur Null dans un argument de procédure
    Par preempalver dans le forum VBA Access
    Réponses: 5
    Dernier message: 30/12/2003, 20h52
  2. Lire une valeur dans le registre
    Par John.s dans le forum C
    Réponses: 2
    Dernier message: 26/11/2003, 19h55
  3. Retourner une valeur avec une fonction
    Par stephtbest dans le forum ASP
    Réponses: 4
    Dernier message: 31/10/2003, 16h37
  4. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 10h26
  5. Afficher une valeur du context
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 13
    Dernier message: 28/04/2003, 13h49

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