DefaultTableModel getModel()上的java.lang.NullPointerException
我用DefaultTableModel getModel()上的java.lang.NullPointerException,java,swing,jtable,defaulttablemodel,Java,Swing,Jtable,Defaulttablemodel,我用DefaultTableModel创建了一个JTable,我在其中添加了数据和所有内容,但是当我试图检索它时,我在这里得到了NullPointerException: DefaultTableModel dm = (DefaultTableModel)finishedSaleTable.getModel(); 完全错误: Exception in thread "main" java.lang.NullPointerException at ui.SalesUI.finishe
DefaultTableModel
创建了一个JTable
,我在其中添加了数据和所有内容,但是当我试图检索它时,我在这里得到了NullPointerException
:
DefaultTableModel dm = (DefaultTableModel)finishedSaleTable.getModel();
完全错误:
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)
线程“main”java.lang.NullPointerException中的异常
在ui.SalesUI.finishedSaleClearList(SalesUI.java:641)//DefaultTableModel行
在ui.SalesUI.finishedSaleUpdateList(SalesUI.java:674)//中调用该方法
在ui.SalesUI.(SalesUI.java:248)
位于ui.SalesUI.main(SalesUI.java:752)
它可以是两件事之一。要么:
finishedSaleTable
为null,要么getModel()
中的某些内容为null。但是像其他评论一样,如果没有其余的代码,我们就无法告诉您更多的信息。请发布更多的代码以及NullPointerException
的完整堆栈跟踪。听起来更像是对finishedSaleTable
的引用是null
,但没有示例代码,无法确定我添加了用于检查finishedSaleTable是否为null的代码。我将在finishedSaleClearList()方法中以及创建后在public SaleUI()构造函数中执行此操作
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)