Rich Fluckiger
Rich Fluckiger

Reputation: 49

Exception for java Swing application?

For some reason this is locking up the java application. Did I handle the exception correctly?

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 returns to the java app.

Upvotes: 3

Views: 114

Answers (2)

akf
akf

Reputation: 39475

You are creating a loop in the Event Dispatch Thread. This will cause your painting thread to spin, making it feel like your app is hanging and will not allow any other GUI actions to be performed.

I would remove the while(true) loop.

Upvotes: 2

Lasse Samson
Lasse Samson

Reputation: 1752

Try removing the while(true) statement. It shouldn't be necessary in your case.

Upvotes: 0

Related Questions