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);
}
}
}
> Graph pie = new Graph();
get rid of that last line