Я застрял в этой проблеме в течение нескольких дней Исключение в потоке "AWT-EventQueue-0" java.lang.NullPointerException - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь завершить проект для класса и после того, как спросил некоторых из моих сверстников, которые не смогли понять проблему, я хотел бы попросить о помощи.

Я читал некоторые похожие вопросы, которые были заданы, но мне не удалось выяснить проблему, просто используя эти источники.

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 в Views.ViewProducts.updateQuantity (ViewProducts.java:233) в Views.ViewProducts.products_lstValueChanged (ViewProducts.java:228)

1 Ответ

0 голосов
/ 31 мая 2019

Итак, глядя на трассировку исключений, исключение возникает через пять (233-228) строк после вызова products_lstValueChanged в updateQuantity.

Эта строка:

    int stockLevel =selectedProduct.getStockLevel();

То есть selectedProduct - это null.Это подразумевает products_lst.getSelectedValue() возвращено null.

Таким образом, кажется, что этот код был вызван, когда ни один элемент не был выбран.Возможно, это было только что снято.Вам нужно разобраться с этим делом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...