Affichage JTable dans JFrame
Bonjour,
Voili voilou mon pb, je me mets à swing, histoire de changer et voili pas que j'ai l'idée de faire apparaître des données dans un tableau !
Code:
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
|
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import model.ChargementBase;
import model.user;
/**
*
* @author moi
*/
public class AffichageTables extends JFrame{
public Vector data;
public Vector columnName;
public JTable tableau;
public JPanel panel;
public AffichageTables(){
System.out.println("Chargement AffichageTables");
//panel = new JPanel();
//panel.setBounds(new Rectangle(250,150,30,10));
//panel.setSize(new Dimension(40,40));
//this.getContentPane().add(panel);
//this.setSize(350, 160);
this.pack();
}
public void getData(String table){
ChargementBase base = new ChargementBase();
Vector<user> users = new Vector<user>();
users = (Vector<user>) base.getUtilisateurs();
columnName = new Vector();
columnName.add("Clef");
columnName.add("Nom");
tableau = new JTable(users,columnName);
tableau.setBounds(10,10,100,100);
//panel.add(new Button("essai"));
JScrollPane scrollPane = new JScrollPane(tableau);
scrollPane.add(tableau);
//panel.add(tableau);
tableau.setVisible(true);
this.validate();
}
} |
Dans la fenêtre principale j'utilise le code suivant ...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
private void listeUserMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
if(this.table != null){
this.table.getData("essai");
this.table.setVisible(true);
this.table.setFocusable(true);
}else{
System.out.println("Création du tableau!!!");
table = new AffichageTables();
table.getData("essai2");
table.setBounds(30, 10, 430, 220);
//desktopPane.add(table, javax.swing.JLayeredPane.DEFAULT_LAYER);
System.out.println("Création du tableau!!!");
this.table.setVisible(true);
this.table.setFocusable(true);
this.desktopPane.revalidate();
} |
La frame s'affiche mais pas de Jtable ??? par contre si j'utilise un Button dans un panel pas de pb !
J'avoue je patauge un peu dans l'api, bref quelqu'un peut il me guider ou m'aider à réécrire proprement ? histoire que je comprenne enfin SWING
PS : pas d'exception au niveau base de donnée.
Olivier