Bonjour

Je viens vers vous pour voir de l'aide et pour mieux comprendre comment fonctionne les JTable de swing. En effet j'ai du mal à comprendre leur fonctionnement. Mon problème est que je souhaiterai afficher une table de produit dans une JFrame. Pour cela je pensais utiliser les JTable j'ai regardé comme il fonctionnais et je me suis rendu compte que pour les compléter il me fallait un tableau d'Objet à 2 dimension.
Je possède deux class :

Class BDConnect : Qui dans mon intension me renvoyer toute les valeurs qui concerne ma bdd
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
 
package HomeShop;
 
import java.sql.*;
 
public class BDConnect {
 
	public BDConnect() {
		connect();
	}
 
	public boolean connect() {
		Connection cn = null;
		try {
			cn = DriverManager.getConnection("jdbc:sqlite:./File/HomeShop.db");
			System.out.println("Connexion à la Base de donnée : Reussi !");
			return true;
		} catch (SQLException e) {
			System.out.println(e.getMessage());
			System.out.println("Connexion à la Base de donnée : Impossible");
			return false;
		} finally {
			try {
				cn.close();
			} catch (SQLException e) {
				System.out.println(e.getMessage());
			}
		}
	}
 
	public Object[][] readTable(){
		Object[][] product = {};
		Statement st = null;
		Connection cn = null;
		ResultSet rs = null;
		try {
			cn = DriverManager.getConnection("jdbc:sqlite:./File/HomeShop.db");
			st = cn.createStatement();
			rs = st.executeQuery("SELECT * FROM Produit");
			while(rs.next()) {
				//Boucle qui remplie product avec toute les données de la table.
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				cn.close();
				st.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		return product;
	}
}
Class FenProduit : qui me permet d'afficher mon JTable
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
 
package HomeShop;
 
import java.awt.*;
import java.sql.*;
import javax.swing.*;
 
public class FenProduit extends JFrame {
 
	/**
         * 
         */
	private static final long serialVersionUID = 1L;
 
	String[] entete = {"ID", "Nom", "Description", "Quantité", "Prix"};
	BDConnect connec = new BDConnect();
 
	public FenProduit() {
		setTitle("Produit");
		setPreferredSize(new Dimension(900, 500));
		JPanel panGen = new JPanel(new BorderLayout());
		JTable produit = new JTable(connec.readTable(), entete);
		panGen.add(produit.getTableHeader(), BorderLayout.NORTH);
		panGen.add(produit, BorderLayout.CENTER);
 
		getContentPane().add(panGen);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		pack();
	}
 
	public static void main(String[] arg) {
		FenProduit f1 = new FenProduit();
		f1.setVisible(true);
	}
}
Dans mes recherches sur internet j'ai vue que pour les JTable il fallait l'instancier de ce type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Object[][] donnees = {
                {"Johnathan", "Sykes", Color.red.toString(), true, "TENIS"},
                {"Nicolas", "Van de Kampf", Color.black.toString(), true, "FOOTBALL"},
                {"Damien", "Cuthbert", Color.cyan.toString(), true, "RIEN"},
                {"Corinne", "Valance", Color.blue.toString(), false, "NATATION"},
                {"Emilie", "Schrödinger", Color.magenta.toString(), false, "FOOTBALL"},
                {"Delphine", "Duke", Color.yellow.toString(), false, "TENNIS"},
                {"Eric", "Trump", Color.pink.toString(), true, "FOOTBALL"}
        };
 
        String[] entetes = {"Prénom", "Nom", "Couleur favorite", "Homme", "Sport"};
 
        JTable tableau = new JTable(donnees, entetes);
Ma question étant de comment faire une boucle sur les données de ma BDD dans des table d'objets si j'ai tout compris ! Si il y a des solutions plus simple je suis preneurs je suis en apprentissage de java et j'aimerai aussi savoir comment faire au plus pratique.

Bonne soirée