Bonsoir à tous,

Je souhaite, dans la classe ci-dessous, sommer toutes les cellules de la colonne "Montant commande" du premier tableau dans une variable et "Montant achat" du deuxième dans une autre, pour ensuite utiliser ces deux valeurs pour construire un graphique via JFreeChart (recettes et dépenses), mais je ne sais pas comment faire même après avoir consulté la javadoc de JTable.

Merci de votre aide

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
 
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
 
 
public class Onglet_manager extends JPanel {
	private  static JTable tableau_recette;
	private static DefaultTableModel ModelPersoRecette;
	private static JTable tableau_depense;
	private static DefaultTableModel ModelPersoDepense;
 
 
	public Onglet_manager(){
 
		// Les panels
 
		JPanel pan1=new JPanel();
		pan1.setLayout(new BoxLayout(pan1, BoxLayout.LINE_AXIS));
		JPanel pan2=new JPanel();
		pan2.setLayout(new BoxLayout(pan2, BoxLayout.LINE_AXIS));
		JPanel pan3=new JPanel();
		pan3.setLayout(new BoxLayout(pan3, BoxLayout.LINE_AXIS));
		JPanel pan4=new JPanel();
		pan4.setLayout(new BoxLayout(pan4, BoxLayout.LINE_AXIS));
		JPanel pan5 = new JPanel();
		pan5.setLayout(new BoxLayout(pan5, BoxLayout.PAGE_AXIS));
		JPanel pan6 = new JPanel();
		pan6.setLayout(new BoxLayout(pan6, BoxLayout.LINE_AXIS));
		JPanel pan7 = new JPanel();
		pan7.setLayout(new BoxLayout(pan7, BoxLayout.PAGE_AXIS));
		// Le label de titre
 
		JLabel titre = new JLabel("Supervision du restaurant");
		JLabel recette = new JLabel("Recettes");
		JLabel depense = new JLabel("Dépenses");
		titre.setFont(new Font("Tahoma", Font.BOLD, 30));
		titre.setForeground(Color.DARK_GRAY);
		recette.setFont(new Font("Tahoma", Font.BOLD, 20));
		recette.setForeground(Color.GREEN);
		depense.setFont(new Font("Tahoma", Font.BOLD, 20));
		depense.setForeground(Color.RED);
 
		// Tableau recette
 
		Object [][] data= null;
		String title [] = {"Nom client", "Montant commande", "Moyen de paiement"};
		tableau_recette = new JTable(new DefaultTableModel(data, title));
 
		ModelPersoRecette = (DefaultTableModel) tableau_recette.getModel();
 
		 // Tableau depense
 
		Object [][] data2=null;
		String title2 [] = {"Produit", "Montant achat", "Quantité"};
		tableau_depense = new JTable(new DefaultTableModel(data2, title2));
 
		ModelPersoDepense = (DefaultTableModel) tableau_depense.getModel();
 
		// Création d'un graphique pour afficher les recettes et dépenses
 
				//create a dataset...
	    DefaultPieDataset donnees=new DefaultPieDataset();
	    donnees.setValue("Dépenses",43.2);
	    donnees.setValue("Recettes",27.9);
 
 
	    		//create a chart...
	    JFreeChart chart = ChartFactory.createPieChart( null, donnees, true/*legend?*/,true/*tooltips?*/, false/*URLs?*/);
	    ChartPanel frame=new ChartPanel(chart);
 
		 // Mise en forme du panel
		JScrollPane rec= new JScrollPane(tableau_recette);
		rec.setPreferredSize(new Dimension(150,180));
		JScrollPane dep= new JScrollPane(tableau_depense);
		dep.setPreferredSize(new Dimension(150,180));
		frame.setPreferredSize(new Dimension(150,180));
 
 
		pan1.add(rec);
		pan2.add(titre);
		pan3.add(recette);
		pan4.add(depense);
		pan5.add(dep);
		pan7.add(pan2);
		pan7.add(pan3);
		pan7.add(pan1);
		pan7.add(pan4);
		pan7.add(pan5);
		pan7.add(frame);
		add(pan7);
 
 
	}
	public static void addRowRecette(Object [] data){
		ModelPersoRecette.addRow(data);
 
	}
 
	public static void addRowDepense(Object [] data){
		ModelPersoDepense.addRow(data);
 
	}
	// On met une image en fond 
		public void paintComponent(Graphics g){
			super.paintComponent(g);
			try {
				Image img = ImageIO.read(new File("picsou.jpg") );
				g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
			}
			catch (IOException e){
				e.printStackTrace();
			}
		}
 
	}