Bonjour à tous,

Voilà je n'ai JAMAIS fait de JTable auparavant, et en lisant ce tuto, j'ai cru comprendre qu'il était possible d'insérer une JTable dans une JTable.

De ce fait j'ai essayé d'en créer une avec 2 colonnes et dans chacune des colonnes j'insère une JTable de 30x30.

Ca compile sans problème sauf que lorsque je démarre mon appli, dans lest cellules où devraient se trouver ma JTable se trouve un mesage d'erreur :

javax.swing.JTable[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=122,g=138,b=153],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],showHorizontalLines=true,showVerticalLines=true]

Voici mon code :

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
 
// Initialise le nom des colonnes
        initNomColonnes(); // Initialise des attributs privés de ma classe de type String []
 
        // Déclaration et initialisation des composants SWING
        JPanel panelPrincipal = new JPanel();
 
        Object[][] data = new Object[30][4];
        Object[][] data2 = new Object[30][30];
        JTable tableDroite = new JTable(1,2);
 
        JTable tableGauche = new JTable(data, nomColonnesGauche);
        // nomColonnesXXXX sont les attributs privés de ma classe
        JTable tableAT = new JTable(data2, nomColonnesAT);
        JTable tableECH = new JTable(data2, nomColonnesECH);
 
        tableDroite.setValueAt(tableAT, 0, 0);
        tableDroite.setValueAt(tableECH, 0, 1);
 
        // Ajout des composants SWING et des Layouts aux différents conteneurs
        this.setLayout(new FlowLayout());
        panelPrincipal.setLayout(new FlowLayout());
        JScrollPane panelGauche = new JScrollPane(tableGauche);
        JScrollPane panelDroite = new JScrollPane(tableDroite);
        panelPrincipal.add(panelGauche);
        panelPrincipal.add(panelDroite);
        this.add(panelPrincipal);
Merci beaucoup d'avance !