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 :

polypolyline en java


Sujet :

2D Java

Vue hybride

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

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut polypolyline en java
    Une API windows permet à partir d'un tableau de points et d'un tableau d'entiers de dessiner plusieurs lignes brisées à l'écran en un seul appel. Y a-t'il quelque chose de semblable en java ? (transportable à linux bien sûr)

    Patrice

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Août 2005
    Messages : 6 901
    Billets dans le blog
    54
    Par défaut
    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
     
    public Shape createMultiLine(float[] x, float[] y) {
        if (x == null || x.length == 0) {
            [...]
        }
        if (y == null || y.length == 0) {
            [...]
        }
        int length = Math.min(x.length, y.length);
        Path2D.Float path = new Path2D.Float();
        path.moveTo(x[0], y[0]);
        for (int i = 1 ; i < length ; i++) { 
            path.lineTo(x[i], y[i]);
        }
        return path;
    }
     
     
    Shape multiline = createMultiLine(...);
    [...]
    /**
    * {@inheritDoc}
    */
    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d = g.create();
        try {
           g2d.setColor(Color.BLACK);
           g2d.draw(multiline);
        }
        finally {
            g2d.dispose();
        }
    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
     
    /**
    * {@inheritDoc}
    */
    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d = g.create();
        try {
            if (x == null || x.length == 0) {
                [...]
            }
            if (y == null || y.length == 0) {
                [...]
            }
            int length = Math.min(x.length, y.length);
            g2d.setColor(Color.BLACK);
            for (int i = 1 ; i < length-1 ; i++) { 
               path.drawLine((int)x[i], (int)y[i], (int)x[i+1], (int)y[i+1]);
           }
      }
        }
        finally {
            g2d.dispose();
        }
    Et hum... qu'est ce que Linux vient faire dedans ?
    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

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 469
    Par défaut
    Si j'ai bien compris il faut coder l'équivalent. Il s'agit de plusieurs lignes brisées (donc on lève le crayon entre chaque ligne brisée)

    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
    /**
    * {@inheritDoc}
    */
    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d = g.create();
        try {
            if (x == null || x.length < 2 ) {
                [...]
            }
            if (y == null || y.length < 2) {
                [...]
            }
            if (n == null || n.length == 0) {
                [...]
            }
     
     
            int length;
            g2d.setColor(Color.BLACK);
            for (int j=0; j < n.length-1;j++){
            length=n[j];
            for (int i = 0 ; i < length-1 ; i++) { 
               path.drawLine((int)x[i], (int)y[i], (int)x[i+1], (int)y[i+1]);
           }
           }
      }
        }
        finally {
            g2d.dispose();
        }

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

Discussions similaires

  1. le Java est la continuité du C++ ???
    Par Vincent PETIT dans le forum Débats sur le développement - Le Best Of
    Réponses: 33
    Dernier message: 25/08/2005, 20h17
  2. Envoi de Datagrames par IP en JAVA
    Par the java lover dans le forum Développement
    Réponses: 2
    Dernier message: 14/08/2002, 11h44
  3. directx et java?? possible??
    Par jiraiya dans le forum DirectX
    Réponses: 3
    Dernier message: 09/07/2002, 19h55
  4. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24
  5. Service de nommage java C++
    Par Anonymous dans le forum CORBA
    Réponses: 3
    Dernier message: 15/04/2002, 12h48

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