Исключение для Java-приложения Swing? - PullRequest
3 голосов
/ 30 мая 2010

По какой-то причине это блокирует Java-приложение. Правильно ли я обработал исключение?

private void submitButtonActionPerformed(java.awt.event.ActionEvent evt)    {                                             
    double amount, interest,rateCalc, a, b, c, payment;
    int years, months;
    while (true){
        try{
            amount = Double.valueOf(loanAmount.getText());
            interest = Double.valueOf(interestRate.getText());
            years = Integer.valueOf(loanYears.getText());
            rateCalc = (interest/12);
            months = (years*12);
            a = Math.pow((1+rateCalc),months);
            b = (a*rateCalc);
            c = (a-1);
            payment = (amount *(b/c));
            monthlyPayment.setText("Mortgage Payment $ = " + payment);

        } catch (NumberFormatException nfe){
            javax.swing.JOptionPane.showMessageDialog(null,
                    "Please enter numbers and not letters");
            return;
        }
    }

}

monthPayment возвращается в приложение Java.

Ответы [ 2 ]

2 голосов
/ 30 мая 2010

Вы создаете цикл в потоке отправки событий. Это заставит ваш поток рисования вращаться, создавая ощущение, что ваше приложение зависло и не позволит выполнять какие-либо другие действия с графическим интерфейсом.

Я бы удалил петлю while(true).

0 голосов
/ 30 мая 2010

Попробуйте удалить оператор while (true). Это не должно быть необходимо в вашем случае.

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