Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 261
  • Last Modified:

I have it almost working

What do I need to do to fix the menu component? I have it almost working...thank you


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

public class Hw_prog2_     extends JFrame {
Hw_prog2_Event TRON = new Hw_prog2_Event(this);

     JButton Calculate;
       JButton Clear;
     JButton Exit;

     JTextArea area;
     JScrollPane scrollPane;
      
       JMenuBar menuBar;
       JMenuItem item;
      
             

     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_prog2_() {                     // Reference the main method
         
     super("McBride.Financial.MortCal"); setSize(890, 130);                 // set size
             
            // name Buttons
     Calculate = new JButton("Calculate");
       Clear = new JButton("New Amount");
       Exit = new JButton("Exit");
       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);
          RateLabel.setForeground(Color.blue);
          TermLabel.setForeground(Color.blue);
          PaymentLabel.setForeground(Color.blue);

          Calculate.setForeground(Color.blue);
          Clear.setForeground(Color.blue);
          Exit.setForeground(Color.blue);

          pane.setForeground(Color.blue);

          // TRON listens for Button fuctions
       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(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);
          menuBar = new JMenuBar();
              setJMenuBar(menuBar);

              JMenu menu = new JMenu("Menu");
            JMenuItem item = new JMenuItem("5.35% at 7yrs");
              JMenuItem itema = new JMenuItem("5.50% at 15yrs");
              JMenuItem itemb = new JMenuItem("5.75% at 30yrs");
              File7.add(menu);
              menu.add(item);
              menu.add(itema);
              menu.add(itemb);
            File7.add(item);
              File7.add(itema);
              File7.add(itemb);
              pane.add(File7);
             
      // FlowLayout layout8 = new FlowLayout(FlowLayout.CENTER);
      // File8.setLayout(layout8);
      //File8.add(menu);
            
               //setVisible(true);

                  
                  
            item.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
       // this will get called
}});
setVisible(true);
}

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

}

        class Hw_prog2_Event implements ActionListener {
       Hw_prog2_ virtual;

       public Hw_prog2_Event(Hw_prog2_ 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);
}

      public    void LaunchComputation() { // sub-program to do math
               try {
                        double LonAmt = Double.valueOf(virtual.LonAmt.getText()).doubleValue(); // Object
                                                                                                             
                                                                                                              // string,
                                                                                                              // double
                                                                                                              // value
                                                                                                              // when
                                                                                                              // Tron
                                                                                                              // calls
                                                                                                              // virtual
                    double Rat = Double.valueOf(virtual.Rat.getText()).doubleValue();
                    int Trm = Integer.parseInt(virtual.Trm.getText());
                    int totalmonths = (Trm * 12);
                    double Payment = 0;
                    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));
}
catch (NumberFormatException ex) {
}
}

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

}
0
charliebaby
Asked:
charliebaby
  • 5
  • 3
1 Solution
 
rixlabsCommented:
Hi charliebaby,

If you want to add a menu in the File7 panel try this ->

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

public class Hw_prog2_     extends JFrame {
Hw_prog2_Event TRON = new Hw_prog2_Event(this);

     JButton Calculate;
      JButton Clear;
     JButton Exit;

     JTextArea area;
     JScrollPane scrollPane;
     
      JMenuBar menuBar;
      JMenuItem item;
     
           

     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_prog2_() {                     // Reference the main method
         
     super("McBride.Financial.MortCal"); setSize(890, 130);                 // set size
           
            // name Buttons
     Calculate = new JButton("Calculate");
      Clear = new JButton("New Amount");
      Exit = new JButton("Exit");
      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);
          RateLabel.setForeground(Color.blue);
          TermLabel.setForeground(Color.blue);
          PaymentLabel.setForeground(Color.blue);

          Calculate.setForeground(Color.blue);
          Clear.setForeground(Color.blue);
          Exit.setForeground(Color.blue);

          pane.setForeground(Color.blue);

          // TRON listens for Button fuctions
      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(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);
          menuBar = new JMenuBar();
            setJMenuBar(menuBar);
           
            JMenu menu = new JMenu("Menu");
            menuBar.add(menu);
            JMenuItem item = new JMenuItem("5.35% at 7yrs");
            item.setEnabled(true);
           
            JMenuItem itema = new JMenuItem("5.50% at 15yrs");
            itema.setEnabled(true);
            JMenuItem itemb = new JMenuItem("5.75% at 30yrs");
            itemb.setEnabled(true);
            menu.add(item);
            menu.add(itema);
            menu.add(itemb);
            File7.add(menuBar);
            pane.add(File7);
           
           
     // FlowLayout layout8 = new FlowLayout(FlowLayout.CENTER);
     // File8.setLayout(layout8);
     //File8.add(menu);
         
             //setVisible(true);

               
               
       /*   item.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
       // this will get called
}});*/
setVisible(true);
}

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

}

        class Hw_prog2_Event implements ActionListener {
      Hw_prog2_ virtual;

      public Hw_prog2_Event(Hw_prog2_ 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);
}

      public    void LaunchComputation() { // sub-program to do math
               try {
                    double LonAmt = Double.valueOf(virtual.LonAmt.getText()).doubleValue(); // Object
                                                                                                             
                                                                                                              // string,
                                                                                                              // double
                                                                                                              // value
                                                                                                              // when
                                                                                                              // Tron
                                                                                                              // calls
                                                                                                              // virtual
                    double Rat = Double.valueOf(virtual.Rat.getText()).doubleValue();
                    int Trm = Integer.parseInt(virtual.Trm.getText());
                    int totalmonths = (Trm * 12);
                    double Payment = 0;
                    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));
}
catch (NumberFormatException ex) {
}
}

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

}
0
 
rixlabsCommented:
Sorry I commente the ActionListener...

You cant Uncomment it :P
0
 
rixlabsCommented:
Sorry for my typing errors....

If you want you can Uncomment the Actionlistener without problems...

0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
charliebabyAuthor Commented:
Made changes as I have posted, for some reason I see nothing in that area now? is this correct, I coppied your order of placement exactly. Thank you       


 FlowLayout layout7 = new FlowLayout(FlowLayout.CENTER);
          File7.setLayout(layout7);
          menuBar = new JMenuBar();
              setJMenuBar(menuBar);

              JMenu menu = new JMenu("Menu");
               menuBar.add(menu);
            JMenuItem item = new JMenuItem("5.35% at 7yrs");
               item.setEnabled(true);
              JMenuItem itema = new JMenuItem("5.50% at 15yrs");
                 itema.setEnabled(true);
              JMenuItem itemb = new JMenuItem("5.75% at 30yrs");
               itemb.setEnabled(true);
              //File7.add(menu);
              menu.add(item);
              menu.add(itema);
              menu.add(itemb);
                File7.add(menuBar);
            //File7.add(item);
             // File7.add(itema);
             // File7.add(itemb);
              pane.add(File7);
             
      // FlowLayout layout8 = new FlowLayout(FlowLayout.CENTER);
      // File8.setLayout(layout8);
      //File8.add(menu);
            
               //setVisible(true);

                  
                  
            //item.addActionListener(new ActionListener() {
     // public void actionPerformed(ActionEvent event) {
       // this will get called
//}});
setVisible(true);
}

0
 
charliebabyAuthor Commented:
That was the first thing I tried, But it didn't help, will try it again, maybe I sliped up some how, you now how easy that can happen, oh will let you know, Thanks again
0
 
charliebabyAuthor Commented:
No, that didn't do it, I am at a brick wall myself, I am not a programer only a student in a very fast paced school, maybe there is something I neclected to decleare in the original code I posted, could you go over it again and make sure that I didn't neglet implmenting something. Thank you so much
0
 
charliebabyAuthor Commented:
I'm sorry it occures to me that I did not make it clear as to the problem that I was having with my menu. What I am expecting it to do is, when you click on "menu" the three Items first appear,and drop down to be selected, How can I do this?
0
 
Ajay-SinghCommented:
try changing this:

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


to



        JMenuBar bar = new JMenuBar();
        File7.add(bar);
       
        JMenu menu = new JMenu("Menu");
        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);
        //File7.add(item);
        //File7.add(itema);
        //File7.add(itemb);
        pane.add(File7);
0
 
charliebabyAuthor Commented:
Thats a beautifal thing, thank you so much it works great, thank you so much.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now