我正在尝试完成一个课程项目,在询问了一些无法解决问题的同龄人后,我想寻求帮助。
我已经阅读了一些类似的问题,但仅使用这些资源我无法找出问题所在。
private void products_lstValueChanged(javax.swing.event.ListSelectionEvent evt) {
//whenever this event is triggered update the selected product to be whichever one is highlighted in the list
//get the selected Value from the list - returned as an OBJECT
Object selectedObject = (Object)products_lst.getSelectedValue();
//cast the object to an animal and set as selectedAnimal value
selectedProduct = (Product)selectedObject;
updateQuantity();
}
private void updateQuantity()
{
int stockLevel =selectedProduct.getStockLevel();
Order latest = currentCustomer.findLatestOrder();
for(Map.Entry<Integer, OrderLine> oEntry : latest.getOrderLines().entrySet())
{
if(oEntry.getValue().getProduct().getProductId() == selectedProduct.getProductId())
{
stockLevel-=oEntry.getValue().getQuantity();
}
}
if(selectedProduct != null)
{
quantity_cmb.removeAllItems();
for(int i = 1; i<=stockLevel;i++)
{
quantity_cmb.addItem(""+i);
}
}
}
线程"AWT-EventQueue-0"中的异常 java.lang.NullPointerException at Views.ViewProducts.updateQuantity(ViewProducts.java:233) 在Views.ViewProducts.products_lstValueChanged(查看产品.java:228)
因此,查看异常跟踪,异常似乎发生在调用products_lstValueChanged
updateQuantity
后的五行 (233-228) 行。
那行是:
int stockLevel =selectedProduct.getStockLevel();
所以selectedProduct
null
.这意味着返回products_lst.getSelectedValue()
null
。
因此,似乎在未选择任何项目时调用了此代码。可能它刚刚被取消选择。你需要处理这种情况。