Удаление JFrame в блоке catch, если он инициализирован в блоке try - PullRequest
0 голосов
/ 14 января 2020
private void by_bill_no(int bill_no) {
        this.dispose();
        Purchase pur=null;
        try {
            pur = new Purchase(bill_no);
        } catch (NullPointerException n) {
            n.printStackTrace();
            pur.dispose();
            new ViewPurchase();
            JOptionPane.showMessageDialog(new JFrame("message"), "Bill no : " + bill_no + " not found");
        }
    }

В приведенном выше коде я создал экземпляр 'pur' класса Purchase, который расширен до JFrame. Когда я передаю номер счета, который не существует, он передает исключение NullPointerException, но создает рамочное окно, как распоряжаться этим окном (я не хочу вносить изменения в класс покупки). Я хочу спросить, есть ли способ избавиться от него здесь

ViewPurchase - это класс ... который будет воссоздан, если номер счета указан неверно, чтобы пользователь мог попробовать другой ввод

...