Issue
I have added a Jtable to a JScrollPane. I need to add an event to a button to insert a new row dinamically. The generated code is
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);
So I should create a new private variable and store the DefaultTableModel object. The new code is :
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);
and
private javax.swing.table.DefaultTableMode dmt1;
After this changes the table disappear. What's wrong? I'm using netbeans 8.1 under Debian 9.
Solution
I've solved putting this code in the 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 });
}
Answered By - blob
Answer Checked By - Timothy Miller (JavaFixing Admin)