Newbie Java Programming Error

Hello there,

I'm brand new to Java and have. I'm taking my 2nd Java class at school and I'm pretty lost at this point. I realize there are other postings regarding this topic and I have looked through them but have not been able to get an answer to my problem.

The main problem I'm having right now is I cannot get my code to execute. My code will compile, but when I try to execute it, either just using the "java" command or executing from TextPad, I get the following error:

Exception in thread "main" java.lang.NoClassDefFoundError: MortgagePayment1

Press any key to continue . . .

In my last class, my compiler was working fine and I could easily execute all of my applications. However, I stupidly ran Windows Updates and it installed Java 6 on my computer and nothing has worked right since.

When I execute "java -version" from a command line, this is what I get:

java version "1.6.0_01"

Java(TM) SE Runtime Environment (build 1.6.0_01-b06)

Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

My environmet variables look like this:

CLASSPATH - C:\Program Files\Java\jdk1.6.0_01\lib;C:\Program Files\Java\jre1.6.0_01\lib

PATH - C:\Program Files\Java\jdk1.6.0_01\lib;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

I'm using TextPad verion 5.0.3.

Here's the code I've compiled and am trying to execute:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.border.*;

import java.text.DecimalFormat;

public class MortgagePayment1 extends JFrame implements ActionListener

{

private JTextField mortgageAmount;

private JTextField mortgageTerm;

private JTextField interestRate;

private JTextField mortgagePaymentAmount;

private JButton calculateBtn;

private JButton quitBtn;

public MortgagePayment1() {

JPanel contentPane = (JPanel)getContentPane();

contentPane.setLayout(new BorderLayout(0, 4));

JPanel northPanel = new JPanel();

Border b = BorderFactory.createEtchedBorder();

northPanel.setBorder(BorderFactory.createTitledBor der(b, "Calculate Mortgage Payment", TitledBorder.TOP, TitledBorder.CENTER));

northPanel.setLayout(new GridLayout(4, 2, 10, 10));

JLabel mortgageAmountLabel = new JLabel("Input Initial Mortgage Amount (dollars)", JLabel.RIGHT);

JLabel mortgageTermLabel = new JLabel("Input Mortgage Term (years)", JLabel.RIGHT);

JLabel interestRateLabel = new JLabel("Input Interest Rate", JLabel.RIGHT);

JLabel mortgagePaymentAmountLabel = new JLabel("Mortgage Payment Amount", JLabel.RIGHT);

mortgageAmount = new JTextField(10);

mortgageTerm = new JTextField(10);

interestRate = new JTextField(10);

mortgagePaymentAmount = new JTextField(10);

northPanel.add(mortgageAmount);

northPanel.add(mortgageTerm);

northPanel.add(interestRate);

northPanel.add(mortgagePaymentAmount);

northPanel.add(mortgageAmountLabel);

northPanel.add(mortgageTermLabel);

northPanel.add(interestRateLabel);

northPanel.add(mortgagePaymentAmountLabel);

// add the rest of labels and textfields

JPanel southPanel = new JPanel();

calculateBtn = new JButton("Calculate");

southPanel.add(calculateBtn);

calculateBtn.addActionListener(this);

quitBtn = new JButton("Quit");

southPanel.add(quitBtn);

quitBtn.addActionListener(this);

contentPane.add(northPanel, BorderLayout.NORTH);

contentPane.add(southPanel, BorderLayout.SOUTH);

}

public void actionPerformed(ActionEvent evt)

{

JButton sourceBtn = (JButton)evt.getSource();

if (sourceBtn == calculateBtn)

{

//calculate monthly payment

//.... set mortgagePaymentAmount textfield to monthly payment.

}

else if (sourceBtn == quitBtn)

{

System.exit(0);

}

}//close actionPerformed method

public static void main(String[] args)

{

MortgagePayment1 mp1 = new MortgagePayment1();

mp1.setTitle("Mortgage Payment: Assignment 1 developed by ...");

mp1.pack();

mp1.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

Window w = e.getWindow();

w.setVisible(false);

w.dispose();

System.exit(0);

}//close windowClosing method

});//close addWindowListener method

mp1.setVisible(true);

}//close Main method

}//close MortgagePayment1 class

Any help would be greatly appreciated!!!!!!!

[4663 byte] By [Pnolana] at [2007-11-27 3:27:00]
# 1
Set the classpath to include the new java executables, so that when you compile it uses the java6 compiler. My guess, C:\Program Files\Java\jdk1.6.0_01\binAlso, if you haven't already, recompile the java code with the new compiler, and try it.
kdajania at 2007-7-12 8:29:45 > top of Java-index,Developer Tools,Debugging and Profiling Tool APIs...