Solved

How did I  break it?

Posted on 2006-11-15
2
244 Views
Last Modified: 2006-11-18
When you click on calculate the Graph Pane pops up, it shouldn't do that, I cannot figure out how I broke it, please tell me what is making that happen. Thak you very much

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.text.*;

public class Hw_prog3a extends JFrame {
Hw_prog3aEvent TRON = new Hw_prog3aEvent(this);

JButton Calculate;
JButton Clear;
JButton Exit;
JButton Pie;

//JTextArea area;
JTextArea area = new JTextArea(5, 15);
//JScrollPane scrollPane = new JScrollPane(area);
JMenuBar menuBar;
JMenuItem item;
JToolBar toolBar;

String fonts[ ] = {"Serif","SansSerif","Monospaced","Dialog","DialogInput"};




JPanel File1 = new JPanel();
JLabel PrincipalLabel = new JLabel("$Enter Loan Amount:",
JLabel.CENTER); // create
JTextField LonAmt = new JTextField(8);

JPanel File2 = new JPanel();
JLabel RateLabel = new JLabel("0.0Enter Interest Rate:",
JLabel.CENTER); // create
JTextField Rat = new JTextField(8);

JPanel File3 = new JPanel();
JLabel TermLabel = new JLabel("Enter Term-Years:",
JLabel.CENTER); // create
JTextField Trm = new JTextField(8);

JPanel File4 = new JPanel();
JLabel PaymentLabel = new JLabel("Monthly Payments:",
JLabel.CENTER); // create
JTextField MthlyPymnt = new JTextField(8);

JPanel File5 = new JPanel(); // create fifth row (Buttons)

JPanel File6 = new JPanel();

JPanel File7 = new JPanel();

JPanel File8 = new JPanel();


// create borders(Grid layout)
public Hw_prog3a() { // Reference the main method

super("McBride.Financial.MortCal"); setSize(1024, 170);
// set size


// name Buttons
Calculate = new JButton("Calculate");
Clear = new JButton("New Amount");
Exit = new JButton("Exit");
Pie = new JButton("Pie");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // inform Frame to close

GridLayout layout = new GridLayout(1, 1, 1, 1); // calls the

Container pane = getContentPane(); // holds the feilds in place &

pane.setLayout(layout); // checks known parameters

PrincipalLabel.setForeground(Color.blue);
//PrincipalLabel.setBackground(Color.blue);
RateLabel.setForeground(Color.blue);
TermLabel.setForeground(Color.blue);
PaymentLabel.setForeground(Color.blue);

Calculate.setForeground(Color.blue);
//Calculate.setBackground(Color.blue);
Clear.setForeground(Color.blue);
//Clear.setBackground(Color.blue);
Exit.setForeground(Color.blue);
//Exit.setBackground(Color.blue);
Pie.setForeground(Color.blue);


pane.setForeground(Color.blue);

// TRON listens for Button fuctions
Pie.addActionListener(TRON);
Calculate.addActionListener(TRON);
Clear.addActionListener(TRON);
Exit.addActionListener(TRON);

// FlowLayout? components fall into place from left to right
FlowLayout mgr = new FlowLayout(FlowLayout.CENTER, 10, 10); // sets

File1.setLayout(mgr); // Directs the user were to place data
File1.add(PrincipalLabel); // add Component
File1.add(LonAmt); // add Component
pane.add(File1);

FlowLayout layout2 = new FlowLayout(FlowLayout.CENTER, 10, 10);
File2.setLayout(layout2);
File2.add(RateLabel);
File2.add(Rat);
pane.add(File2);

FlowLayout layout3 = new FlowLayout(FlowLayout.CENTER, 10, 10);
File3.setLayout(layout3);
File3.add(TermLabel);
File3.add(Trm);
pane.add(File3);

FlowLayout layout4 = new FlowLayout(FlowLayout.CENTER, 10, 10);
MthlyPymnt.setEditable(false);
File4.setLayout(layout4);
File4.add(PaymentLabel);
File4.add(MthlyPymnt);
pane.add(File4);

FlowLayout layout5 = new FlowLayout(FlowLayout.CENTER, 5, 5);
File5.setLayout(layout5);
File5.add(Pie);
File5.add(Calculate);
File5.add(Clear);
File5.add(Exit);

pane.add(File5);

   FlowLayout layout6 = new FlowLayout(FlowLayout.CENTER);
          File6.setLayout(layout6);
              //JTextArea area = new JTextArea(5, 10); // 5 rows and 10 columns
          JScrollPane scrollPane = new JScrollPane(area); // add the text area to
              File6.add(scrollPane);
            pane.add(File6);
//FlowLayout layout7 = new FlowLayout(FlowLayout.CENTER);
//File7.setLayout(layout7);
JMenuBar bar = new JMenuBar();

File3.add(bar);

JMenu menu = new JMenu("FixedRatesMenu");
JMenuItem item = new JMenuItem("5.35% at 7yrs");
JMenuItem itema = new JMenuItem("5.50% at 15yrs");
JMenuItem itemb = new JMenuItem("5.75% at 30yrs");
bar.add(menu);
menu.add(item);
menu.add(itema);
menu.add(itemb);
pane.add(File7);

item.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// this will get called
Rat.setText("5.35");
Trm.setText("7");
TRON.LaunchComputation();
}
});
itema.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// this will get called
Rat.setText("5.5");
Trm.setText("15");
TRON.LaunchComputation();
}
});
itemb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// this will get called
Rat.setText("5.75");
Trm.setText("30");
TRON.LaunchComputation();
}
});




setVisible(true);
}

public static void main(String[] arguments) {
Hw_prog3a frame = new Hw_prog3a();

}

class Hw_prog3aEvent implements ActionListener {
Hw_prog3a virtual;

public Hw_prog3aEvent(Hw_prog3a in) {

virtual = in;

}

public void actionPerformed(ActionEvent event) {

String command = event.getActionCommand();

if(event.getSource() == Calculate)
LaunchComputation();
if(event.getSource() == Clear)
reset();
if(event.getSource() == Exit)
System.exit(0);
if(event.getSource() == Pie)
new Graph();


}

public void LaunchComputation() { // sub-program to do math
try {

double LonAmt =Double.valueOf(virtual.LonAmt.getText()).doubleValue(); // Object


double Rat =Double.valueOf(virtual.Rat.getText()).doubleValue();
int Trm = Integer.parseInt(virtual.Trm.getText());
int totalmonths = (Trm * 12);
double Payment = 0;
double InterestPaid;
String monthlyPayment = new String();
NumberFormat currency = NumberFormat.getCurrencyInstance();
double I = (Rat / 100.0 / 12.0);

Payment = (LonAmt * I) / (1 - Math.pow(1 / (1 + I), totalmonths));
virtual.MthlyPymnt.setText(currency.format(Payment));

//Payment Amoritization Table
int LoanPaymentNumber;
for(LoanPaymentNumber = 0; LoanPaymentNumber < (totalmonths); LoanPaymentNumber++){
InterestPaid = (LonAmt * I);
LonAmt = LonAmt - (Payment - InterestPaid);
virtual.area.append((LoanPaymentNumber+1) + "   " + currency.format(InterestPaid) + "   " + currency.format(LonAmt) + "\n");
}
}
catch (NumberFormatException ex) {

Graph pie = new Graph();  
}
}

protected void reset() {
virtual.LonAmt.setText(null);
virtual.Rat.setText(null);
virtual.Trm.setText(null);
virtual.MthlyPymnt.setText(null);
virtual.area.setText(null);


}
}
class Graph extends JFrame {  
public Graph() {  
super("PIE CHART");  
setSize(500,500);  
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
setVisible(true);  
//JLabel barbar = new JLabel(, JLabel.CENTER);  
FlowLayout bar = new FlowLayout();  
Container pane = getContentPane();  
pane.setLayout(bar);  
//pane.add(barbar);  
setContentPane(pane);  
}
}  
}  
0
Comment
Question by:charliebaby
2 Comments
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 17951519
> catch (NumberFormatException ex) {
> Graph pie = new Graph();  

get rid of that last line

0
 

Author Comment

by:charliebaby
ID: 17951651
Thank you, it seemed to me to be out of place, that line I deleated, that sure did the trick thanks, however I cannot imagine how >>Graph pie = new Graph();   was talking to the calculate button.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now