2010-05-29 2 views
3

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

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; 
     } 
    } 

} 

ежемесячный платеж возвращается в приложение java.

ответ

2

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

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

+0

Спасибо, это было. –

0

Попробуйте удалить инструкцию while (true). В вашем случае это не обязательно.

Смежные вопросы