Solved

How did I  break it?

Posted on 2006-11-15
2
249 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…

724 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