home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Languages Suite
/
ProgLangD.iso
/
VCAFE.3.0A
/
Sample.bin
/
LoanCalcFrame.java
< prev
next >
Wrap
Text File
|
1998-10-31
|
6KB
|
149 lines
/*
A basic extension of the java.awt.Frame class
*/
import java.awt.*;
import symantec.itools.awt.KeyPressManagerPanel;
public class LoanCalcFrame extends Frame {
void Frame1_WindowClosing(java.awt.event.WindowEvent event)
{
dispose(); // hide the Frame
}
public LoanCalcFrame()
{
// This code is automatically generated by Visual Cafe when you add
// components to the visual environment. It instantiates and initializes
// the components. To modify the code, only use code syntax that matches
// what Visual Cafe can generate, or Visual Cafe may be unable to back
// parse your Java file into its visual environment.
//{{INIT_CONTROLS
setLayout(new GridBagLayout());
setSize(591,301);
setVisible(false);
PrincipleLabel.setText("Principle =");
add(PrincipleLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,0,2,2,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(9,65,0,0),0,0));
PrincipleLabel.setBounds(95,61,72,23);
InterestLabel.setText("Interest =");
add(InterestLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,2,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,69,0,0),0,0));
InterestLabel.setBounds(99,102,65,23);
LengthLabel.setText("Length of loan(years) =");
add(LengthLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,3,4,2,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,31,0,0),0,0));
LengthLabel.setBounds(61,143,140,23);
PaymentsLabel.setText("Monthly payments =");
add(PaymentsLabel,new com.symantec.itools.awt.GridBagConstraintsD(0,5,3,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,40,42,0),0,0));
PaymentsLabel.setBounds(70,184,122,23);
add(PrincipleTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,0,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(9,63,0,0),123,-3));
PrincipleTextField.setBounds(264,61,147,20);
add(InterestTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,2,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,63,0,0),123,0));
InterestTextField.setBounds(264,102,147,23);
add(LengthTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,3,1,2,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,63,0,0),123,0));
LengthTextField.setBounds(264,143,147,23);
PaymentsTextField.setEditable(false);
add(PaymentsTextField,new com.symantec.itools.awt.GridBagConstraintsD(4,5,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(18,63,42,0),123,0));
PaymentsTextField.setBackground(java.awt.Color.lightGray);
PaymentsTextField.setBounds(264,184,147,23);
CalcButton.setActionCommand("button");
CalcButton.setLabel("Calculate");
add(CalcButton,new com.symantec.itools.awt.GridBagConstraintsD(5,3,1,1,0.0,0.0,java.awt.GridBagConstraints.CENTER,java.awt.GridBagConstraints.NONE,new Insets(0,39,0,44),0,0));
CalcButton.setBounds(450,125,66,23);
setTitle("Loan Calculation");
//}}
//{{INIT_MENUS
//}}
//{{REGISTER_LISTENERS
SymAction lSymAction = new SymAction();
CalcButton.addActionListener(lSymAction);
Window lWindow = new Window();
addWindowListener(lWindow);
//}}
}
public LoanCalcFrame(String title)
{
this();
setTitle(title);
}
boolean fComponentsAdjusted = false;
//{{DECLARE_CONTROLS
java.awt.Label PrincipleLabel = new java.awt.Label();
java.awt.Label InterestLabel = new java.awt.Label();
java.awt.Label LengthLabel = new java.awt.Label();
java.awt.Label PaymentsLabel = new java.awt.Label();
java.awt.TextField PrincipleTextField = new java.awt.TextField(15);
java.awt.TextField InterestTextField = new java.awt.TextField(15);
java.awt.TextField LengthTextField = new java.awt.TextField(15);
java.awt.TextField PaymentsTextField = new java.awt.TextField(15);
java.awt.Button CalcButton = new java.awt.Button();
//}}
//{{DECLARE_MENUS
//}}
class Window extends java.awt.event.WindowAdapter
{
public void windowClosing(java.awt.event.WindowEvent event)
{
Object object = event.getSource();
if (object == LoanCalcFrame.this)
Frame1_WindowClosing(event);
}
}
class SymAction implements java.awt.event.ActionListener
{
public void actionPerformed(java.awt.event.ActionEvent event)
{
Object object = event.getSource();
if (object == CalcButton)
CalcButton_ActionPerformed(event);
}
}
void CalcButton_ActionPerformed(java.awt.event.ActionEvent event)
{
// to do: code goes here.
CalcButton_ActionPerformed_Interaction1(event);
}
void CalcButton_ActionPerformed_Interaction1(java.awt.event.ActionEvent event)
{
double Principal, InterestRate, LengthLoan, MonthlyPay, IntDec, NumMonths;
try {
Principal = ( Double.valueOf(PrincipleTextField.getText() ) ).doubleValue();
InterestRate = ( Double.valueOf(InterestTextField.getText()) ).doubleValue();
LengthLoan = ( Double.valueOf(LengthTextField.getText() ) ).doubleValue();
} catch (NumberFormatException e) {return;}
if (Principal < 0 || InterestRate < 0 || LengthLoan < 0) return;
IntDec = InterestRate / (12.0 * 100.0);
NumMonths = LengthLoan * 12.0;
MonthlyPay = Principal * (IntDec / (1.0 - Math.pow((1.0 + IntDec), -NumMonths)));
PaymentsTextField.setText(String.valueOf(MonthlyPay)); }
}