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

Graphisme Java Discussion :

Mise à jour JPanel


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Par défaut Mise à jour JPanel
    Bonjour,

    Je réalise une application qui trace un graphique en fonction des données d'un tableau. Pour cela j'utilise JFreeChart.

    A la création de la fenetre j'arrive bien à afficher le graph dans un JPannel = new ChartPanel(chart); (voir code)

    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
    public MaFenetre()
    	{
    		setTitle("Fenetre avec graph"); setSize(400,800);
     
    		Container contenu=getContentPane();
    		contenu.setLayout(null);
     
    		// create a dataset... 
    		DefaultPieDataset data = new DefaultPieDataset(); 
    		data.setValue("Category 1", 43.2); 
    		data.setValue("Category 2", 27.9); 
    		data.setValue("Category 3", 79.5); 
    		// create a chart... 
    		JFreeChart chart = ChartFactory.createPieChart( 
    		"Sample Pie Chart", 
    		data, 
    		true, // legend? 
    		true, // tooltips? 
    		false // URLs? 
    		); 
     
    		JPanel dataPanel = new ChartPanel(chart);
    		dataPanel.setPreferredSize(new Dimension(350, 600));
    		dataPanel.setBounds(20,30,300,650);
    		contenu.add(dataPanel);
    	}
    Le problème est pour la mise à jour des données, je ne sais pas comment écraser mon JPanel pour en remettre un new ChartPanel(chart) avec les nouvelles valeurs, ou de mettre à jour mon objet chart à jour.

    j'ai une version en utilisant JFrameChart qui ouvrait une nouvelle fenetre à chaque nouveau tracé. Le pb là était que je n'arrivais pas à détruire les fenêtres précédentes et que j'en avait plusieurs (à l'écran mais peut être pas acative) malgrés une déclaration en static.

    Fred

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu crées un nouvel objet JFreeChart et tu l'affectes à ton ChartPanel en faisant un setChart.


    Ou alors tu modifies le DataSet du Plot de ton JFreeChart (sachant que chaque type de Plot a un type spécifique de DataSet associé.

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 43
    Par défaut
    Merci pour l'astuce et c'est vrai que c'est plus propre.

    Mon pb initial était que j'étais en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contenu.setLayout(null);
    et que je réimplantais mon nouveaux graphique en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contenu.add(ZoneGraph);
    sans refaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ZoneGraph.setBounds(0,0,790,750);
    et donc le nouveau panel n'apparraissait pas à l'écran.

    MERCI

    FRED

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Du NullLayout?
    Beurk.
    Ça me donne mal au cœur.

    C'est vraiment pas propre comme façon de procéder avec Swing.

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

Discussions similaires

  1. Mise à jour JPanel
    Par omar344 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/05/2013, 20h32
  2. Mise à jour de l'affichage dans un JPanel
    Par TheDreamTeam dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 06/04/2010, 21h40
  3. [JTree] Mise à jour d'un JPanel selon le noeud sélectionné dans le JTree
    Par Carlito95 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 23/03/2010, 20h42
  4. Mise à jour de JPanel
    Par Laughing Man dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 07/05/2008, 08h54
  5. [urgent]Affichage de JPanel et mise à jour
    Par joker.benj dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 23/05/2006, 16h17

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