2017-10-03 3 views
0

J'ai ajouté un Jtable à un JScrollPane. Je dois ajouter un événement à un bouton pour insérer une nouvelle ligne de façon dinamique. Le code généré estCode de personnalisation du générateur gui netbeans (propriété personnalisée)

jTable1 = new javax.swing.JTable(); 

jTable1.setModel(new javax.swing.table.DefaultTableModel( 
    new Object [][] { 
     {null, null, null}, 
     {null, null, null}, 
     {null, null, null}, 
     {null, null, null} 
}, 
    new String [] { 
    "Sport passati", "Per quanto tempo", "Tempo di inattività" 
} 
) { 
    Class[] types = new Class [] { 
    java.lang.String.class, java.lang.String.class, 
    java.lang.String.class 
    }; 

    public Class getColumnClass(int columnIndex) { 
     return types [columnIndex]; 
    } 
}); 


jScrollPane1.setViewportView(jTable1); 

donc je devrais créer une nouvelle variable privée et stocker l'objet DefaultTableModel. Le nouveau code est:

 jTable1 = new javax.swing.JTable(); 

    jTable1.setModel(dmt1 = new javax.swing.table.DefaultTableModel( 
    new Object [][] { 
     {null, null, null}, 
     {null, null, null}, 
     {null, null, null}, 
     {null, null, null} 
    }, 
    new String [] { 
     "Sport passati", "Per quanto tempo", "Tempo di inattività" 
    } 
    ) { 
    Class[] types = new Class [] { 
     java.lang.String.class, java.lang.String.class, 
    java.lang.String.class 
    }; 

    public Class getColumnClass(int columnIndex) { 
     return types [columnIndex]; 
    } 
    }); 
    jScrollPane1.setViewportView(jTable1); 

et

private javax.swing.table.DefaultTableMode dmt1; 

Après cela change la table disparaît. Qu'est-ce qui ne va pas? J'utilise NetBeans 8.1 sous Debian 9.

Répondre

0

Je l'ai résolu de mettre ce code dans le private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { javax.swing.table.DefaultTableModel dtm1 = (javax.swing.table.DefaultTableModel) jTable1.getModel(); dtm1.addRow(new Object[] {null, null, null }); }