Bonjour à tous, je suis très débutant dans le JAVA, j'aimerais donc comprendre (si possible) mon erreur.
J'ai fait un petit programme (que j'ai déjà réalisé en PHP donc pas de soucis pour ça) Mais je voudrais (là ou mon soucis me pose problème) afficher une table MySQL que j'aurais récupéré et afficher en dessous le retour de MySQL. Le problème c'est que ça m'affiche tout sur la même ligne. Voici le code + une capture d'écran :

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
134
135
136
137
package eu.skydrum;
 
import java.awt.BorderLayout;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
 
import com.sdz.connection.SdzConnection;
 
public class Fenetre extends JFrame {
	/**
          * Le conteneur de résultat
          */
	  private JPanel result = new JPanel();
 
	/**
          * Le conteneur Du formulaire 
          */
	  private JPanel form = new JPanel();
 
	  /**
           * Split
           */
	  JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, result, form);
 
	  /**
           * Création de notre conteneur d'onglets
           */
	  JTabbedPane onglet = new JTabbedPane();
 
	  /**
          * Requête par défaut pour le démarrage
          */
	  private String requete = "SELECT  * FROM Batteurs";
 
	  /**
           * Bouton de validation
           */
	  private JButton boutton = new JButton("Envoyer");
 
	  public Fenetre(){
		    setSize(900, 600);
		    setTitle("Liste des Batteurs enregistrés");
		    setLocationRelativeTo(null);
		    setDefaultCloseOperation(EXIT_ON_CLOSE);
 
		    initOnglets();
		    initTable(requete);
 
		    setVisible(true);
		    setLocationRelativeTo(null);
	  }
 
	  public void initOnglets(){
		    //Création de notre conteneur d'onglets
		    JTabbedPane onglet = new JTabbedPane();
 
		    //Méthode d'ajout d'onglet
		    onglet.add("Liste des Batteurs", result);
		    onglet.add("Quizz", form);
 
		    getContentPane().add(onglet);
	  }
 
	  public void initTable(String query){
		    try {
		    //On crée un statement
		      long start = System.currentTimeMillis();
		      Statement state = SdzConnection.getInstance().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
 
		      //On exécute la requête
		      ResultSet res = state.executeQuery(query);
		      //Temps d'exécution
 
		      //On récupère les meta afin de récupérer le nom des colonnes
		      ResultSetMetaData meta = res.getMetaData();
		      //On initialise un tableau d'Object pour les en-têtes du tableau
		      Object[] column = new Object[meta.getColumnCount()];
 
		      for(int i = 1 ; i <= meta.getColumnCount(); i++)
		        column[i-1] = meta.getColumnName(i);
 
		      //Petite manipulation pour obtenir le nombre de lignes
		      res.last();
		      int rowCount = res.getRow();
		      Object[][] data = new Object[res.getRow()][meta.getColumnCount()];
 
		      //On revient au départ
		      res.beforeFirst();
		      int j = 1;
 
		      //On remplit le tableau d'Object[][]
		      while(res.next()){
		        for(int i = 1 ; i <= meta.getColumnCount(); i++)
		          data[j-1][i-1] = res.getObject(i);
 
		        j++;
		      }
 
		      //On ferme le tout                                     
		      res.close();
		      state.close();
 
		      long totalTime = System.currentTimeMillis() - start;
 
		      //On enlève le contenu de notre conteneur
		      result.removeAll();
		      //On y ajoute un JTable
		      result.add(new JScrollPane(new JTable(data, column)), BorderLayout.NORTH);
		      result.add(new JLabel("La requête à été exécuter en " + totalTime + " ms et a retourné " + rowCount + " ligne(s)"), BorderLayout.SOUTH);
		      //On force la mise à jour de l'affichage
		      result.revalidate();
 
		    } catch (SQLException e) {
		      //Dans le cas d'une exception, on affiche une pop-up et on efface le contenu		
		      result.removeAll();
		      result.add(new JScrollPane(new JTable()), BorderLayout.NORTH);
		      result.revalidate();
		      JOptionPane.showMessageDialog(null, e.getMessage(), "ERREUR ! ", JOptionPane.ERROR_MESSAGE);
		    }	
		  }
 
  public static void main(String[] args){
    new Fenetre();
  }   
}
Screenshot :

Nom : ss+(2014-12-03+at+09.52.20).png
Affichages : 298
Taille : 12,2 Ko