简体   繁体   中英

netbeans gui builder customizing code (custom property)

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.

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 }); } 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 }); }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM