简体   繁体   English

netbeans gui构建器定制代码(定制属性)

[英]netbeans gui builder customizing code (custom property)

I have added a Jtable to a JScrollPane. 我已经将Jtable添加到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. 因此,我应该创建一个新的私有变量并存储DefaultTableModel对象。 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. 我在Debian 9下使用netbeans 8.1。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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