I compile the java code and no problem. Then run java application and no problem. I then try to convert to Java Applet and i receive errors.
C:\AIU\MIS\Object-Oriented\Projects\Wahlen5IPSolution.java:95: cannot find symbol
symbol : method setDefaultCloseOperation(int)
location: class Wahlen5IPSolution
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
^
C:\AIU\MIS\Object-Oriented\Projects\Wahlen5IPSolution.java:134: cannot find symbol
symbol : method pack()
location: class Wahlen5IPSolution
pack();
^
2 errors
Tool completed with exit code 1
Code is below
//Import all required Packages
import javax.swing.*;
import java.awt.*;
import java.text.*;
import java.awt.event.*;
public class Wahlen5IPSolution extends JApplet implements ActionListener {
double userAmount;
double userInterest;
double userTerm;
int month = 0;
double remainBalance = 0;
double interestPayment = 0;
double principalPaid = 0;
JPanel row1;
JLabel lblAmount;
JTextField txtAmount;
JLabel lblInterest;
JTextField txtInterest;
JLabel lblTerm;
JTextField txtTerm;
JLabel lblPayment;
JTextField txtPayment;
JPanel row2;
JLabel lblHeader;
JTextArea txtResults;
JScrollPane textPane;
JPanel row3;
JButton calculateButton;
JButton clearButton;
JButton exitButton;
public void init()
{
//Instantiate GUI Components
//super("Mortgage Calculator");
// row1
row1 = new JPanel();
lblAmount = new JLabel(" Mortgage: $", JLabel.LEFT);
txtAmount = new JTextField(10);
lblInterest = new JLabel("Interest %", JLabel.LEFT);
txtInterest = new JTextField(6);
lblTerm = new JLabel("Term in Years", JLabel.LEFT);
txtTerm = new JTextField(6);
lblPayment = new JLabel("Payment:");
txtPayment = new JTextField(10);
// row2
row2 = new JPanel(new BorderLayout());
String pad = " ";
lblHeader = new JLabel("Payment #"+pad+"Payment Amount:"+pad+"Interest Paid:"+pad+"New Balance:");
txtResults = new JTextArea(10, 53);
textPane = new JScrollPane(txtResults);
//row 3
row3 = new JPanel(new GridLayout(1,3,75,1));
calculateButton = new JButton("Calculate");
clearButton = new JButton("Clear");
exitButton = new JButton("Exit");
//Build GUI
setSize(600, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
row1.add(lblAmount);
row1.add(txtAmount);
row1.add(lblInterest);
row1.add(txtInterest);
row1.add(lblTerm);
row1.add(txtTerm);
row1.add(lblPayment);
row1.add(txtPayment);
txtPayment.setEditable(false);
textPane.setPreferredSize(new Dimension(610,200));
row2.add(lblHeader,BorderLayout.NORTH);
row2.add(textPane,BorderLayout.CENTER);
//Create Calculate button and add listener
calculateButton.addActionListener(this);
clearButton.addActionListener(this);
exitButton.addActionListener(this);
row3.add(exitButton);
row3.add(clearButton);
row3.add(calculateButton);
getContentPane().add(row1,BorderLayout.NORTH);
getContentPane().add(row2,BorderLayout.CENTER);
getContentPane().add(row3,BorderLayout.SOUTH);
pack();
}
//Define actions performed for buttons
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == calculateButton)
{
double balance = 0;
double monthPayment=0;
userAmount = Double.parseDouble(txtAmount.getText());
userInterest = Double.parseDouble(txtInterest.getText());
userTerm = Double.parseDouble(txtTerm.getText());
//formats answer in currency format then to string format for display
NumberFormat fmt = NumberFormat.getCurrencyInstance();
monthPayment = CalculateMonthlyPayment();
String payment = fmt.format(monthPayment);
txtPayment.setText(" "+payment);
balance = userAmount;
month = (int)userTerm * 12;
for(int index = 1; index <= month ; index++)
{
interestPayment = balance * (userInterest * .01/12);
principalPaid = monthPayment - interestPayment;
remainBalance = balance - principalPaid;
txtResults.append(" " + index + "\t\t "+ fmt.format(balance) + "\t\t"
+ fmt.format(interestPayment) + "\t\t" + fmt.format(remainBalance) + "\n");
balance = remainBalance;
}
}
else if (e.getSource() == clearButton)
{
txtAmount.setText(null);
txtPayment.setText(null);
txtResults.setText(null);
}
else if (e.getSource() == exitButton)
{
System.exit(0);
}
}
//Mortgage Payment Calculations
double CalculateMonthlyPayment()
{
return (userAmount * ((1 + (userInterest*.01)/12)-1) / (1-(Math.pow((1+(userInterest*.01)/12),-(userTerm*12)))));
}
public static void main(String[] args)
{
new Wahlen5IPSolution().setVisible(true);
}
}
