2010-05-29 102 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; 
     } 
    } 

} 

monthlyPayment返回到java應用程序。

回答

2

您正在事件調度線程中創建一個循環。這將導致您的繪畫線程旋轉,使其感覺您的應用程序掛起,並且不允許執行任何其他GUI操作。

我會刪除while(true)循環。

+0

謝謝,就是這樣。 – 2010-05-30 00:37:11

0

嘗試刪除while(true)語句。你的情況不應該是必要的。