Bonjour/Bonsoir à tous !
Alors voilà j'ai un gros problème et j'espère que vous pourrez m'aider.
Je dois préparer un client lourd en Java pour un projet PPE que je dois présenter à mon BTS et l'utilisation d'un client lourd est obligatoire pour le passer ( mon professeur m'a forcé la main pour créer le code moi même et j'ai fais l'erreur d'accepter... )
Je suis un gros débutant dans se langage et c'est pour ça que j'ai décidé de me mettre sur débutant même si le code que vous allez voir est plus poussé ! Mais je vais vous expliquer.
Si j'ai mal fais je m'en excuse d'avance.
En fait le projet que j'ai décidé de mener est un tableau de taxation qui va répertorier tous les appels d'un serveur téléphonique sous la forme d'un tableau Jtable en ce connectant à la base de donnée ( la dessus pas de problème, le client lourd ce connecte niquel) mais le problème c'est que mon tableau ne récupère que le premier champ de la base de donnée et n'affiche pas les autres !
Le problème c'est que mon professeur a décidé de m'aider et a fait énormément de trucs dessus avant de me dire qu'il a fait trop de tests et que je dois tout recommencer....
Il a fait pleins de trucs sur mon code sans le commenter et je n'ai aucunes idée de ce qu'il a fait parce que ce n'est pratiquement pas commenté et je comprend rien il m'a parlé de seter/geter et je ne sais même pas ce que c'est et j'ai franchement pas envie de recommencer et ça me fais pas mal stresser parce que je passe mon orale dans 1 mois...
Je sais que de me cracher le code sera inutile pour mon apprentissage mais si on pouvait m’aiguiller ce qui ne sert à rien et que je peux nettoyer dans mon code et m'expliquer où est-ce qu'il faut que je cherche serait vraiment un plus pour que je puisse trouver une solution et se serait vraiment sympas de votre part

Vous allez surement vous dire si tu ne comprend rien comment tu as fait pour faire une partie tout seul ? Ben c'est pas bien mais c'est surtout du copié/collé sur internet et quand ça marche tant mieux quoi .. mais je savais pas trop ce que je faisais..
Je sais que j'aurais dû m'y prendre plus tôt mais ça fait plus d'un an que je me concentre sur mon infrastructure que je l'ai un peu trop mis de côté...
Je vous met mon code ( ça va surement faire mal aux yeux mais bon j'ai plus rien à perdre xD )

Statistiques.java :
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
133
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
 
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
 
public class Statistiques extends JFrame {
 
 
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		//tableau conteant les objets CALL
		ArrayList<Call> calls=new ArrayList<Call>();
		System.out.println("-------- PostgreSQL "
				+ "JDBC Connection Testing ------------");
 
		try {
 
			Class.forName("org.postgresql.Driver");
 
		} catch (ClassNotFoundException e) {
 
			System.out.println("Where is your PostgreSQL JDBC Driver? "
					+ "Include in your library path!");
			e.printStackTrace();
			return;
 
		}
 
		System.out.println("PostgreSQL JDBC Driver Registered!");
 
		Connection connection = null;
		ArrayList<String> datatab= new ArrayList<String>();
		try {
 
			connection = DriverManager.getConnection(
					"jdbc:postgresql://192.168.1.48:5432/asterisk", "asterisk",
					"proformatique");
 
			ResultSet resultats = null;
			String requete = "SELECT * FROM call_log";
 
 
			try {
			Statement stmt = connection.createStatement();
			resultats = stmt.executeQuery(requete);
			Call acall=new Call();
			while(resultats.next()) {
 
				System.out.println(resultats.getString("id"));
				System.out.println(resultats.getString("date"));
				System.out.println(resultats.getString("duration"));
				datatab.add(resultats.getString("id"));
				acall.setID(resultats.getString("id"));
				datatab.add(resultats.getString("date"));
				acall.setDate(resultats.getString("date"));
				datatab.add(resultats.getString("duration"));
				acall.setDuration(resultats.getString("duration"));
				calls.add(acall);
			}
			for (Call asTring: calls) {
				System.out.println(asTring.toString());
			}
			} catch (SQLException e) {
			//traitement de l'exception
			}
 
 
		} catch (SQLException e) {
 
			System.out.println("Connection Failed! Check output console");
			e.printStackTrace();
 
			return;
 
		}
 
		if (connection != null) {
			System.out.println("You made it, take control your database now!");
		} else {
			System.out.println("Failed to make connection!");
		}
 
		 Statistiques fen = new Statistiques(datatab, calls);
 
		 fen.setVisible(true);
	}
 
	 public Statistiques(ArrayList<String> datatab, ArrayList<Call> calls){
 
		    this.setLocationRelativeTo(null);
		    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		    this.setTitle("JTable");
		    this.setSize(300, 120);
for (String string : datatab) {
 
	System.out.println("-------"+string);
}
String Stringtableau="{";
for (Call acall : calls) {
 
Stringtableau+= acall.toString()+ "\n" ;
 
}
//Stringtableau+="}";
System.out.println(Stringtableau);
 
 
		    //Les données du tableau
		    Object[][] data = {datatab.toArray()
		    		//{resultats.getString("id"), resultats.getString("date"), resultats.getString("duration")}
		    };
 
 
		    //Les titres des colonnes
		    String  title[] = {"ID", "Date", "Durée"};
		    JTable tableau = new JTable(data, title);
		   // ArrayList tableauDynamique = new ArrayList(Arrays.asList(tableauSimple));
		    //Nous ajoutons notre tableau à notre contentPane dans un scroll
		    //Sinon les titres des colonnes ne s'afficheront pas !
		    this.getContentPane().add(new JScrollPane(tableau));
 
 
	 }
 
}
Call.java :
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
 
public class Call {
 
	String ID; 
	String Date; 
	String Duration;
 
	public Call() {}
 
	public Call(String _ID,String _Date,String _Duration) {
	ID=_ID;
	Date=_Date;
	Duration=_Duration;
	}
 
	public String getID() {
		return ID;
	}
	public void setID(String iD) {
		ID = iD;
	}
	public String getDate() {
		return Date;
	}
	public void setDate(String date) {
		Date = date;
	}
	public String getDuration() {
		return Duration;
	}
	public void setDuration(String duration) {
		Duration = duration;
	}
 
	public String toString() {return "{"+ID+","+Date+","+Duration+"}";}
 
 
}
Merci d'avance pour votre aide !