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 :

Problème graphique avec SWTChart


Sujet :

SWT/JFace Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Par défaut Problème graphique avec SWTChart
    Bonjour à tous,

    Je suis face à un problème que je ne comprends pas du tout. En fait, je dois intégrer des graphiques dans mon interface.

    Pour le moment, dans mon interface, j'ai utilisé un système d'onglet ( donc au début un type Shell, dans lequel on intègre un type Tabfolder, dans lequel on met un objet de type Composite ) comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    display = new Display();
    shell = new Shell(display);
    tabfolder = new TabFolder(shell, SWT.NONE);
    onglet1 = new TabItem(tabfolder, SWT.NONE);
    pageOnglet1 = new Composite(tabfolder, SWT.NONE);
    onglet1.setControl(pageOnglet1);
    Donc je voulais savoir si selon vous, c'est dû au système d'onglets que j'utilise.

  2. #2
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    Bonjour, tu n'as pas vraiment décrit ton problème ! QU'est ce qu'il ce passe ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Par défaut
    Ah oui, effectivement, ce message vient d'une autre discussion où tout était expliqué, désolé.

    En fait, je dois réaliser une interface graphique. Et dans celle-ci, je dois être capable d’intégrer des graphiques, comme des chronogrammes par exemple.
    J'ai choisi la bibliothèque SWT pour la réaliser.

    On m'a guidé vers la bibliothèque SWTChart pour faire cela. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Composite comp = new Composite(parent, SWT.NONE | SWT.EMBEDDED);
    Frame frame = SWT_AWT.new_Frame(comp);
    JFreeChart chart = createChart();
    ChartPanel chartPanel = new ChartPanel(chart);
    frame.add(chartPanel);
    On m'a fait diverses propositions, je les ai toutes regardées et testées. Mais à chaque fois, aucun affichage n'est effectué. Pourtant le code ne comporte pas d'erreur.

    Donc je voulais savoir d'où peut venir ce "non-affichage". Je suppose que le problème vient du Composite que j'ai utilisé ( le code que j'ai mis lors du précédent post). Car c'est la seule chose sur lequel j'ai modifié quelque chose sur mon onglet.

    J'ai également essayé d'afficher les graphique sur une autre fenêtre, vide de base, mais le résultat est malheureusement le même.

    J'espère avoir été le plus clair possible

  4. #4
    Membre éclairé Avatar de L4BiN
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2006
    Messages : 432
    Par défaut
    le code m'a pourtant pas l'air si mal, tu utilises bien le mode SWT.EMBEDDED.
    Peut-être devrais-tu gérer un BorderLayout pour voir.
    Peut-être le problème vient de ta méthode createChart()...

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Est-ce que sans TabFolder ton code marche et affiche bien ton diagramme dans ton Composite?
    Si c'est juste l'affichage dans un TabItem qui ne marche pas, il te faudrait peut-être nous donner le code complet de création de ton Composite (sauf si c'est celui qui est déjà là...).
    Sache que généralement, quand rien n'est affiché, c'est un problème de layout...

    Voilà, à+
    Gueritarish

    [Edit]: J'avais pas vu que tu ré-expliquais la chose dans ton post précédant
    Tu devrais affecter un FillLayout à ton Composite, ça devrait le faire.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2012
    Messages : 28
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut,

    Est-ce que sans TabFolder ton code marche et affiche bien ton diagramme dans ton Composite?
    Si c'est juste l'affichage dans un TabItem qui ne marche pas, il te faudrait peut-être nous donner le code complet de création de ton Composite (sauf si c'est celui qui est déjà là...).
    Sache que généralement, quand rien n'est affiché, c'est un problème de layout...

    Voilà, à+
    Gueritarish

    [Edit]: J'avais pas vu que tu ré-expliquais la chose dans ton post précédant
    Tu devrais affecter un FillLayout à ton Composite, ça devrait le faire.
    Bah le truc, c'est que sans le TabFolder, les onglets ne peuvent pas marcher il me semble. Le TabItem prend un TabFolder en attribut.

    Sinon j'ai essayé de mettre le graphique directement sur une fenêtre vide, sans rien du tout, juste un Shell pour l'affichage, mais toujours rien.

    Par contre, vous parlez de Layout. Si je ne me trompe pas, c'est en fait créer une " grille " pour pouvoir placer les objets dans un certain emplacement, c'est bien ça ?

    Le soucis, c'est que pour créer mon interface graphique, je n'ai pas utilisé de Layout mais j'ai placé directement les Labels avec leur position en pixels. ( Après, je ne sais pas si dans ce cas, on peut parler de Layout ... )

    Si ça peut vous aider, voici le code que j'ai utilisé pour construire ma fenêtre :

    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
    display = new Display();
    shell = new Shell(display);
    tabfolder = new TabFolder(shell, SWT.NONE);	
    onglet1 = new TabItem(tabfolder, SWT.NONE);
    onglet1.setText("Temps Reel");
    onglet2 = new TabItem(tabfolder, SWT.NONE);
    onglet2.setText("Sauvegarde");
    onglet3 = new TabItem(tabfolder, SWT.NONE);
    onglet3.setText("Graphique");	
    pageOnglet1 = new Composite(tabfolder, SWT.NONE);
    onglet1.setControl(pageOnglet1);		    
    pageOnglet2 = new Composite(tabfolder, SWT.NONE);
    onglet2.setControl(pageOnglet2);		    
    pageOnglet3 = new Composite(tabfolder, SWT.NONE);
    onglet3.setControl(pageOnglet3);		    
     
    Chart chart = new Chart(pageOnglet3, SWT.NONE);
    double[] ySeries = { 0.3, 1.4, 1.3, 1.9, 2.1 };
    ISeriesSet seriesSet = chart.getSeriesSet();
    ISeries series = seriesSet.createSeries(SeriesType.LINE, "line series");
    series.setYSeries(ySeries);

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

Discussions similaires

  1. Problème graphique avec l'instruction "grid", pour raffiner le maillage
    Par follichon dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 25/06/2012, 16h35
  2. [AC-2003] problème graphique avec access 2003 et W7
    Par le méruvien dans le forum IHM
    Réponses: 3
    Dernier message: 25/07/2011, 09h12
  3. Problème graphique avec jeu DOS
    Par Tristram dans le forum Vidéo
    Réponses: 0
    Dernier message: 16/06/2011, 09h44
  4. Problème Interface graphique avec EJB
    Par manuvd dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/06/2007, 12h04
  5. Problème graphique avec vista
    Par ibreak dans le forum Windows Vista
    Réponses: 7
    Dernier message: 21/12/2006, 20h26

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