Hello everyone. I am once again having problems with my Java programming assignment. I am continuing to work on this, but if anyone can help me out at all, it would be greatly appreciated. This assignment is due by Monday at midnight. Here is what the assignment entails, so you know what I am trying to accomplish:

Allow the user to choose whether to enter the term and APR, or to select from the list of mortgage loans. In addition to displaying the mortgage payment amount, it will also list the principal balance and interest paid for each payment over the term of the loan in a scrolling pane.

Here is my coding thus far, which I will be continuing to work on. Thanks .

Code:
/*Java Package Imports*/
import javax.swing.JOptionPane;
import javax.swing.JComponent;
import javax.swing.*;
import javax.swing.JComboBox;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.*;
import java.text.DecimalFormat;

public class MortgageCalculatorGUI4 extends Frame implements ActionListener, ItemListener
{
	/*Set background color of panel or screen*/
	Color lightBlue = new Color(163,187,255);

	/*Declaring and initializing variables*/
	int term = 0;
	double interestRate = 0;
	double principle = 0;
	double payment = 0;
	String ArrayTerm [] = {"7", "15", "30"};
	String ArrayInterestRate [] = {"5.35", "5.5", "5.75"};

	/*Established control buttons*/
	Panel buttonPanel = new Panel();
	Button resetButton = new Button("Reset");
	Button calculateButton = new Button("Calculate");
	Button cancelButton = new Button("Cancel");

	/*Established fields*/
	Panel inputPanel = new Panel();
	Label loanPrinciple = new Label("Loan Principle: $");
	TextField textPrinciple = new TextField(12);
	Label loanTerm = new Label("Term of Loan (Years): ");
	TextField textTerm = new TextField(3);
	Label loanInterest = new Label("Annual Interest Rate (Percentage): ");
	TextField textInterest = new TextField(6);
	Panel comboBox = new Panel();
	JComboBox interestRateList, termList;

	public MortgageCalculatorGUI4()
	{
		/*Setup data entry screen*/
		this.setLayout(new BorderLayout());
		this.setBackground(lightBlue);
		buttonPanel.setLayout(new FlowLayout());
		inputPanel.setLayout(new FlowLayout());

		/*Setup data entry screen fields*/
		inputPanel.add(loanPrinciple);
		inputPanel.add(textPrinciple);
		inputPanel.add(loanTerm);
		inputPanel.add(textTerm);
		inputPanel.add(loanInterest);
		inputPanel.add(textInterest);


		/*Buttons to click with mouse*/
		buttonPanel.add(resetButton);
		buttonPanel.add(calculateButton);
		buttonPanel.add(cancelButton);
		buttonPanel.setBackground(lightBlue);

		/*Created lists through an array*/
		termList = new JComboBox(ArrayTerm);
		termList.setSelectedIndex(0);
		termList.addItemListener(this);

		interestRateList = new JComboBox(ArrayInterestRate);
		interestRateList.setSelectedIndex(0);
		interestRateList.addItemListener(this);

		/*Setup lists*/
		comboBox.add(loanTerm);
		comboBox.add(termList);
		comboBox.add(loanInterest);
		comboBox.add(interestRateList);

		/*Add location of data entry fields to panel*/
		add(inputPanel, BorderLayout.NORTH);
		/*Add buttons to panel, reset, calculate, and cancel*/
		add(buttonPanel, BorderLayout.SOUTH);
		/*Add list to panel*/
		add(comboBox, BorderLayout.EAST);

		/*Activate button listening*/
		resetButton.addActionListener(this);
		calculateButton.addActionListener(this);
		cancelButton.addActionListener(this);


	}

	/*Established display*/
	public static void main(String[] args)
	{
		MortgageCalculatorGUI4 frame = new MortgageCalculatorGUI4();
		frame.setBounds(200,200,750,300);
		frame.setTitle("Mortgage Calculator GUI3");
		frame.setVisible(true);

	}


	public void itemStateChanged(ItemEvent e)
	{
		/*Gathering information from selections*/
		if(e.getStateChange() == ItemEvent.SELECTED)
		{
			if(e.getSource() == termList)
			{
				int pos = termList.getSelectedIndex();
				interestRateList.setSelectedIndex(pos);
			}
			if(e.getSource() == interestRateList)
			{
				int pos = interestRateList.getSelectedIndex();
				termList.setSelectedIndex(pos);
			}
		}
	}

	/*Resets entries*/
	public void actionPerformed(ActionEvent e)
	{
		String arg = e.getActionCommand();

		/*Resets fields on panel*/
		if (arg == "Reset")
		{
			textPrinciple.setText("");
			textTerm.setText("");
			textInterest.setText("");
			arg = "";
		}

		/*Canels application*/
		if (arg == "Cancel")
		{
			System.exit(0);
			arg="";
		}

		/*Performs calculations on entered data*/
		if (arg == "Calculate")
		{
			DecimalFormat TwoDigits = new DecimalFormat("###,###,###.##");
			double numberOfPayments=0;
			double principleValue=0;
			double interestRate=0;
			try
			{
				principleValue = Double.parseDouble(textPrinciple.getText());
				try
				{
					numberOfPayments = Double.parseDouble((String)termList.getSelectedItem())*12;
				}
				finally
				{
					interestRate = Double.parseDouble((String)interestRateList.getSelectedItem())/100/12;
				}
			}
			catch (Exception ex)
			{
				clearFields();
			}

			/*Payment calculation*/
			double payment = (principleValue * interestRate) / (1 - Math.pow(1 + interestRate, - numberOfPayments));

			/*Output displaying Principle, years, and interest entered and payment and number of months calculated*/
			JOptionPane.showMessageDialog(null," Principle: $"+ TwoDigits.format(principleValue) +
			" Interest Rate: " + TwoDigits.format(interestRate*100*12) +"% Term of Loan: "+ numberOfPayments/12 + " year(s) " +
			"or "+ numberOfPayments + " monthly payments of $" + TwoDigits.format(payment)+
			" totalling $"+TwoDigits.format(payment*numberOfPayments)+". ","Mortgage Calculator GUI4",JOptionPane.INFORMATION_MESSAGE);
			arg="";
		}

	}

	public void clearFields()
	{
		textPrinciple.setText("");
		textTerm.setText("");
		textInterest.setText("");
	}

}
/
In addition to the assignment instructions listed, I am also not sure how to line up or organize both the textfields and dropdown lists with the labels such as Principle, Interest, and Term. I have been messing around with this for a little while now, and just cant seem to get it right.

Thanks for everything,
Nicole