2013-02-05 109 views
0

我已经做了JTableDefaultTableModel,我里面添加数据和一切,但是当我试图找回我得到NullPointerException这里的DefaultTableModel getModel():显示java.lang.NullPointerException上

DefaultTableModel dm = (DefaultTableModel)finishedSaleTable.getModel(); 

private DefaultTableModel finishedSaleModel; 
private JTable finishedSaleTable; 

public SaleUI() { 
String finishedSaleColumns [] = {"#", "Customer", "Employee", "Products", "# Products", "Discount", "Price", "Date"}; 
     finishedSaleModel = new DefaultTableModel(null, finishedSaleColumns); 
     finishedSaleTable = new JTable(finishedSaleModel){ 
      public boolean isCellEditable(int rowIndex, int colIndex) { 
       return false; 
      } 
     }; 
     finishedSaleTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
     finishedSaleTable.getColumnModel().getColumn(0).setPreferredWidth(40); 
     finishedSaleTable.getColumnModel().getColumn(1).setPreferredWidth(100); 
     finishedSaleTable.getColumnModel().getColumn(2).setPreferredWidth(100); 
     finishedSaleTable.getColumnModel().getColumn(3).setPreferredWidth(85); 
     finishedSaleTable.getColumnModel().getColumn(4).setPreferredWidth(90); 
     finishedSaleTable.getColumnModel().getColumn(6).setPreferredWidth(75); 
     finishedSaleTable.getColumnModel().getColumn(7).setPreferredWidth(125); 
      JScrollPane finishedSaleTableScroll = new JScrollPane(finishedSaleTable); 
} 

private void finishedSaleClearList() 
    { 
     DefaultTableModel dm = (DefaultTableModel)finishedSaleTable.getModel(); 
     while(dm.getRowCount() > 0) 
      dm.removeRow(0); 
    } 

完整的错误:

Exception in thread "main" java.lang.NullPointerException 
    at ui.SalesUI.finishedSaleClearList(SalesUI.java:641) // DefaultTableModel line 
    at ui.SalesUI.finishedSaleUpdateList(SalesUI.java:674) // where I call the method 
    at ui.SalesUI.<init>(SalesUI.java:248) 
    at ui.SalesUI.main(SalesUI.java:752) 
+0

请发布更多的代码以及用于'NullPointerException'的完整堆栈跟踪。 – Asaph

+1

听起来更像'finishedSaleTable'的引用是'null',但没有示例代码,不可能确定 – MadProgrammer

+0

我加了代码 – Nikola

回答

1

它可以是两件事之一。或者:finishedSaleTable为空或在getModel()之内。但是像其他评论一样,没有其他代码我们可以告诉你。

相关问题