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

2D Java Discussion :

[JFreeChart] Forme carré comment la crée?


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut [JFreeChart] Forme carré comment la crée?
    Bonjour,

    je voudrais que toutes les courbes de mon graphique est la forme carré qu'il y a sur ma première courbe.
    J'ai trouvé les méthodes suivantes : setSeriesShape et setShape.

    J'ai essayer de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    xyplot.getRenderer().setSeriesShape(1,xyplot.getRenderer().getSeriesShape(0));
    Mais le méthode getSeriesShapeme renvoi un objet null, peut être parce que le graphique n'est pas construit...

    Comment faire la forme carré de ma première courbe alors?


    De plus je ne comprend pas pourquoi la méthode seShape est depreciated car elle est utile quand on souhaite appliquer sur toutes les coubes.
    On est pas obliger de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    xyplot.getRenderer().setSeriesShape(1,monShape);
    xyplot.getRenderer().setSeriesShape(2,monShape);
    xyplot.getRenderer().setSeriesShape(3,monShape);

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    716
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 716
    Par défaut
    J'ai trouvé une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AbstractXYItemRenderer abstractxyitemrenderer = (AbstractXYItemRenderer)xyplot.getRenderer();
    abstractxyitemrenderer.setAutoPopulateSeriesShape(false);
    Mais je voudrais savoir comment on construit un objet de type Shape que je vais utiliser jfreechart

    Merci pour votre aide

  3. #3
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Par défaut
    Regarde dans les sources de jfreechart le code de la classe DefaultDrawingSupplier.java. Tu peux y trouver cette méthode pour créer des Shapes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    public static Shape[] createStandardSeriesShapes() {
     
            Shape[] result = new Shape[10];
     
            double size = 6.0;
            double delta = size / 2.0;
            int[] xpoints = null;
            int[] ypoints = null;
     
            // square
            result[0] = new Rectangle2D.Double(-delta, -delta, size, size);
            // circle
            result[1] = new Ellipse2D.Double(-delta, -delta, size, size);
     
            // up-pointing triangle
            xpoints = intArray(0.0, delta, -delta);
            ypoints = intArray(-delta, delta, delta);
            result[2] = new Polygon(xpoints, ypoints, 3);
     
            // diamond
            xpoints = intArray(0.0, delta, 0.0, -delta);
            ypoints = intArray(-delta, 0.0, delta, 0.0);
            result[3] = new Polygon(xpoints, ypoints, 4);
     
            // horizontal rectangle
            result[4] = new Rectangle2D.Double(-delta, -delta / 2, size, size / 2);
     
            // down-pointing triangle
            xpoints = intArray(-delta, +delta, 0.0);
            ypoints = intArray(-delta, -delta, delta);
            result[5] = new Polygon(xpoints, ypoints, 3);
     
            // horizontal ellipse
            result[6] = new Ellipse2D.Double(-delta, -delta / 2, size, size / 2);
     
            // right-pointing triangle
            xpoints = intArray(-delta, delta, -delta);
            ypoints = intArray(-delta, 0.0, delta);
            result[7] = new Polygon(xpoints, ypoints, 3);
     
            // vertical rectangle
            result[8] = new Rectangle2D.Double(-delta / 2, -delta, size / 2, size);
     
            // left-pointing triangle
            xpoints = intArray(-delta, delta, delta);
            ypoints = intArray(0.0, -delta, +delta);
            result[9] = new Polygon(xpoints, ypoints, 3);
     
            return result;
     
        }

Discussions similaires

  1. Comment tester qu'une Form a été déjà créée ?
    Par citic dans le forum Langage
    Réponses: 7
    Dernier message: 21/09/2007, 23h53
  2. Envoi HTTP pour plate forme SMS : comment ?
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 20/07/2006, 09h04
  3. Réponses: 7
    Dernier message: 05/05/2006, 14h42
  4. Réponses: 7
    Dernier message: 04/04/2006, 07h28
  5. [FORMs 6 ] comment forcer un trigger
    Par sdiack dans le forum Oracle
    Réponses: 10
    Dernier message: 13/02/2006, 10h07

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