Can't get Input Fields to show in GUI

Hey guys... I am working on an assignment and can't seem to get my input fields to show up on my GUI. The program compiles with no errors, but it's not working correctly. I've looked over it for 2 days now. Think one of you could take a look and see what's wrong? Thanks!

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.text.*;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.text.DecimalFormat;

import java.text.NumberFormat;

import java.util.Locale;

import javax.swing.BorderFactory;

import javax.swing.BoxLayout;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField.*;

import javax.swing.border.Border;

import javax.swing.border.EmptyBorder;

publicclass MortgageCalculator1extends JFrameimplements ActionListener

{

double rate = 0;//APR

double monthlyPayment = 0;//Monthly payment amount

double principle = 0;//Amount of loan

int term = 0;//Mortgage term in years

double interest = 0;//Interest, in months

int notePeriod = 0;//Mortgage term in months

JPanel row1 =new JPanel();// Set up boxes to label Items

Label mortgage_label =new JLabel("MORTGAGE CALCULATOR", JLabel.CENTER);

JPanel row2 =new JPanel(new GridLayout(1, 2));

JLabel principle_label =new JLabel("Mortgage Principal $",JLabel.LEFT);

JTextField principle_txt =new JTextField(10);

JPanel row3 =new JPanel(new GridLayout(1, 2));

JLabel term_label =new JLabel("Mortgage Term (Yrs)",JLabel.LEFT);

JTextField term_txt =new JTextField(10);

JPanel row4 =new JPanel(new GridLayout(1, 2));

JLabel rate_label =new JLabel("Interest Rate (%)", JLabel.LEFT);

JTextField rate_txt =new JTextField(10);

JPanel row5 =new JPanel(new GridLayout(1, 2));

JLabel monthlyPayment_label =new JLabel("Monthly Payment $", JLabel.LEFT);

JTextField monthlyPayment_txt =new JTextField(10);

//Create Buttons

JPanel button =new JPanel(new FlowLayout(FlowLayout.LEFT, 10, 10));

JButton clearButton =new JButton("Clear");

JButton exitButton =new JButton("Exit");

JButton calculateButton =new JButton("Calculate");

public MortgageCalculator1()

{

super ("Mortgage Payment Calculator");

setSize(450, 300);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Container pane = getContentPane();

Border rowborder =new EmptyBorder( 3, 10, 3, 10 );

//Pane and row properties

pane.add(row1);

row1.add(mortgage_label);

row1.setMaximumSize(new Dimension( 10000, row1.getMinimumSize().height));

row1.setBorder( rowborder);

pane.add(row2);

row2.add(principle_label);

row2.add(principle_txt);

row2.setMaximumSize(new Dimension( 10000, row2.getMinimumSize().height));

row2.setBorder( rowborder);

pane.add(row3);

row3.add(term_label);

row3.add(term_txt);

row3.setMaximumSize(new Dimension( 10000, row3.getMinimumSize().height));

row3.setBorder( rowborder);

pane.add(row4);

row4.add(rate_label);

row4.add(rate_txt);

row4.setMaximumSize(new Dimension( 10000, row4.getMinimumSize().height));

row4.setBorder( rowborder);

pane.add(row5);

row5.add(monthlyPayment_label);

row5.add(monthlyPayment_txt);

monthlyPayment_txt.setEnabled(false);//set payment amount uneditable

row5.setMaximumSize(new Dimension( 10000, row5.getMinimumSize().height));

row5.setBorder( rowborder);

button.add(calculateButton);

button.add(clearButton);

button.add(exitButton);

pane.add(button);

button.setMaximumSize(new Dimension( 10000, button.getMinimumSize().height));

clearButton.addActionListener(this);//Add Listeners

exitButton.addActionListener(this);

calculateButton.addActionListener(this);

}

publicvoid actionPerformed(ActionEvent event)

{

Object command = event.getSource();

String arg = event.getActionCommand();

if (command == calculateButton)

{

try

{

// user input

rate = Double.parseDouble(rate_txt.getText());

principle = Double.parseDouble(principle_txt.getText()) term = Integer.parseInt(term_txt.getText());

// monthly interest rate

interest = ((rate / 100) / 12);

// total number of payments

notePeriod = term * 12;// (for example, 5 years means notePeriod = 60)

// monthly payment

if (rate == 0.0)

{

monthlyPayment = principle / notePeriod;

}

else

{

monthlyPayment = (principle * interest) / (1 - Math.pow(1 + interest, -notePeriod));

}

NumberFormat myCurrencyFormatter;

myCurrencyFormatter = NumberFormat.getCurrencyInstance(Locale.US);

monthlyPayment_txt.setText(myCurrencyFormatter.format(monthlyPayment));

}

catch (Exception e)

{

JOptionPane.showMessageDialog(null,"Invaild Entry! Please Try Again","ERROR", JOptionPane.ERROR_MESSAGE);

}

}

if(command == clearButton)

{

principle_txt.setText(null);

term_txt.setText(null);

rate_txt.setText(null);

monthlyPayment_txt.setText(null);

}

if(command == exitButton)

{

System.exit(0);

}

}

publicstaticvoid main (String[] arguments)//Main Method

{

MortgageCalculator1 smc =new MortgageCalculator1();

smc.setVisible(true);

smc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

[10429 byte] By [Rhivkaa] at [2007-11-27 10:06:35]
# 1

> Container pane = getContentPane();

> pane.add(row1);

> pane.add(row2);

> pane.add(row3);

> pane.add(row4);

> pane.add(row5);

> pane.add(button);

default layoutManager for contentPane is BorderLayout

default position, when none specified, is BorderLayout.CENTER

you can only add one component to each area of a BorderLayout, so each

new 'addition' knocks out the previous one i.e. only the last added component (button) will show

change the layoutManager for pane, or use a nested panel

JPanel panel = new JPanel(new GridLayout(6,1));

panel.add(row1);

panel.add(row2);

panel.add(row3);

panel.add(row4);

panel.add(row5);

panel.add(button);

pane.add(panel);

Michael_Dunna at 2007-7-13 0:42:56 > top of Java-index,Java Essentials,New To Java...
# 2
Thanks Michael, that was it : )I totally missed that.
Rhivkaa at 2007-7-13 0:42:56 > top of Java-index,Java Essentials,New To Java...