0

我做了一个JTablewith DefaultTableModel,我在里面添加了数据和所有东西,但是当我尝试检索它时,我到了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)
4

1 回答 1

1

它可以是两件事之一。要么:finishedSaleTable是空的,要么是里面的东西getModel()。但就像其他评论一样,如果没有其余的代码,我们就无法告诉您更多信息。

于 2013-02-06T00:02:40.283 回答