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

SWT/JFace Java Discussion :

Choix de Class graphique


Sujet :

SWT/JFace Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Par défaut Choix de Class graphique
    Bonjour

    Je suis confronté a un problème de choix de classes graphiques.
    Je souhaiterais dessiner à l'horizontale un ensemble de bloc reliés entre eux par des traits.Blocs qui pourront se voir assigner une coloration.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ex
     
    -------[]-------[]------[]-------[]-------[]------[]-------[]-------[]------[]-------[]-------[]------[]
    Pour cela j'ai opter pour l'utilisation de CANVAS et de GC, j'arrive a dessiner quelques rectangles reliés avec des traits lorsque j'effectue une simulation sur un exemple réduit du jeu de donnée a représenter graphiquement mais le problème se corse lorque que je lui soumet un jeu de donnée plus conséquent. ( au max 3 000 000 de - ou de [] a représenter graphiquement).

    j'effectue cela avec les methode .drawLine() et drawRectangle(), mais la gestion de coordonée n'est pas aisée, d'autant plus lorsque que l'on souhaite ajouter une Scrollbar

    Je ne pense pas utiliser les bons outils graphique de SWT, je me renseigne actuellement sur les JGRAPH.

    Ainsi j'apprécierais si l'un d'entre vous aurez des conseils, cela afin d' écourter mon temps de lecture de doc.

    Bonne fin de soirée

  2. #2
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Par défaut
    Si c'est uniquement la gestion des coordonnées qui te gênes tu peux mettre ton canvas dans une instance de ScrolledComposite pour gérer les barres de défilement qui seras faite automatiquement et tes coordonnées resterons relatives au coin superieur gauche de ton canvas.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Par défaut
    Merci d'avoir pris la peine de répondre. L'utiisation du scrolled composite me sera tres utile

    Mon problème est que je ne sais pas exactement quels outils SWT utiliser pour arriver a dessiner des rectangles que je puisse colorer et dans lequel je pourrais assigner des listeners.

    Je pense a l utilisation de Canvas puis de GC Graphical content mais je n'arrive pas a trouver des exemples ou tutorial convainquant. En effet dans les exemples trouvés ils se contentent de dessiner des rectangles et de les colorer....mais sans assigner d'event a leurs objets.

    Comment font les gens pour dessiner des formes 2D puis pour assigner des listener dessus.

    Si quelqu'un aurais l'amabilité de m'orienté que se soit vers un tutorial ou un lien internet je lui en serait très resonnaissant.

    Bonne journée

  4. #4
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Par défaut
    Lorsque tu dessines un rectangle c'est juste de la couleur donc pas de possibilité d'y ajouter un écouteur mais tu peux ajouter un écouteur au canvas pour récupérer les événements souris, après il te suffit de mémoriser des instance de Rectangle qui représentent tes dessins pour vérifier si le point cliqué est contenu dans l'un d'eux et lequel.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Par défaut
    Merci soft0613, je pense comprendre un peu mieux la démarche d'implémentation que je dois adopter, cela grâce à ton expliquation.

    Corrigez moi si je me trompe :

    - Un listener pour l'ensemble des rectangles (pour le canvas ou je dessine mes rectangles).
    - Je stocke l'ensemble des valeurs des rectangles que je déssine dans un tableau.
    - Lorsque que je clique sur un rectangle (je clique sur le canvas).
    - j'appelle une méthode qui compare la localisation du clic avec l'ensemble des rectangles déssinés (parcours + comparaison des valeurs de mon tableau de rectangle).
    - Si la localisation du clic correspond bien a un rectangle j'effectue l'action voulu sur le rectangle.

    Connaissez-vous une méthode permettant de comparer une coordonée à l'ensemble des coordonées occupée par un rectangle (bordure + interieur) ? ou dois-je l'implémenter.

    Merci pour l'aide et bonne fin de journée.

  6. #6
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Par défaut
    Oui c'est exactement ce que tu dois faire. Pour comparer les coordonnées il existe une méthode contains(int x, int y) de la classe Rectangle dans l'API SWT qui renvoie vrai si le point est dans le rectangle et faux sinon.

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

Discussions similaires

  1. Quelle classe graphique choisir ?
    Par King_T dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/05/2006, 17h33
  2. Choix de carte graphique sur ancien matériel
    Par ludo.guy dans le forum Composants
    Réponses: 4
    Dernier message: 23/05/2006, 11h05
  3. Choix d'interface graphique
    Par sendeler dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 30/01/2006, 11h50
  4. Problème de choix pour un graphique
    Par MeDioN dans le forum 2D
    Réponses: 2
    Dernier message: 10/10/2005, 10h11
  5. [choix langage] calcul,graphiques,portabilite: java ou c++?
    Par brassouille dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 15/07/2004, 11h09

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