Connecting Tech Pros Worldwide Help | Site Map

please help

Member
 
Join Date: Jul 2007
Posts: 44
#1: Aug 24 '07
Expand|Select|Wrap|Line Numbers
  1. import javax.swing.*;
  2. import java.awt.event.*;
  3.  
  4. public class Calculator extends JFrame
  5.  
  6. {
  7.  
  8.     public Calculator()
  9.     {
  10.         JButton jBtn1=new JButton("1");
  11.         JButton jBtn2=new JButton("2");
  12.         JButton jBtn3=new JButton("3");
  13.         JButton jBtn4=new JButton("4");
  14.         JButton jBtn5=new JButton("5");
  15.         JButton jBtn6=new JButton("6");
  16.         JButton jBtn7=new JButton("7");
  17.         JButton jBtn8=new JButton("8");
  18.         JButton jBtn9=new JButton("9");
  19.         JButton jBtn0=new JButton("0");
  20.         JButton jBtnDot=new JButton(".");
  21.         JButton jBtnPls=new JButton("+");
  22.         JButton jBtnMin=new JButton("-");
  23.         JButton jBtnMlt=new JButton("*");
  24.         JButton jBtnDiv=new JButton("/");
  25.         JButton jBtnClr=new JButton("Clr");
  26.  
  27.     //    JPanel pnlMenu = new JPanel();
  28.  
  29.         JTextField jTFAns =new JTextField(10);
  30.  
  31.         add(jTFAns);
  32.         add(jBtn1);
  33.         add(jBtn2);
  34.         add(jBtn2);
  35.         add(jBtn3);
  36.         add(jBtn4);
  37.         add(jBtn5);
  38.         add(jBtn6);
  39.         add(jBtn7);
  40.         add(jBtn8);
  41.         add(jBtn9);
  42.         add(jBtn0);
  43.  
  44.  
  45.         add(jBtnPls);
  46.         add(jBtnMin);
  47.         add(jBtnDiv);
  48.         add(jBtnMlt);
  49.         add(jBtnDot);
  50.         add(jBtnClr);
  51.         setLayout(null);
  52.     //    setContentPane();
  53.  
  54.  
  55.     }
  56.     public static void main(String[] args)
  57.     {
  58.  
  59.         Calculator cal=new Calculator();
  60.  
  61.         JFrame frm=new JFrame("Calculator");
  62.         frm.setContentPane(cal);
  63.  
  64.         frm.setSize(400,500);
  65.         frm.setVisible(true);
  66.  
  67.             WindowListener listener=new WindowAdapter()
  68.             {
  69.             public void windowClosing(WindowEvent winEvt)
  70.             {
  71.                 System.exit(0);
  72.             }
  73.         };  
  74.         frm.addWindowListener(listener);
  75.     }
  76. }
Getting this error

Expand|Select|Wrap|Line Numbers
  1. Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container
  2.     at java.awt.Container.addImpl(Container.java:1010)
  3.     at javax.swing.JLayeredPane.addImpl(JLayeredPane.java:204)
  4.     at java.awt.Container.add(Container.java:899)
  5.     at javax.swing.JRootPane.setContentPane(JRootPane.java:562)
  6.     at javax.swing.JFrame.setContentPane(JFrame.java:609)
  7.     at Calculator.main(Calculator.java:62)
i know the programe is in complete but i shuld give some output but its giving a error...
JosAH's Avatar
Expert
 
Join Date: Mar 2007
Posts: 10,611
#2: Aug 24 '07

re: please help


There are three 'top level containers': JFrame, JDialog and JWindow. They can't
be part of another container (see your error message). In your main method
you're trying to add a Calculator (which is a JFrame itself) to another JFrame.

kind regards,

Jos
Member
 
Join Date: Jul 2007
Posts: 44
#3: Aug 25 '07

re: please help


Quote:

Originally Posted by JosAH

There are three 'top level containers': JFrame, JDialog and JWindow. They can't
be part of another container (see your error message). In your main method
you're trying to add a Calculator (which is a JFrame itself) to another JFrame.

kind regards,

Jos

can you please tell me what should i do to get over to this problem today was my submission but i cant give please help me out..
JosAH's Avatar
Expert
 
Join Date: Mar 2007
Posts: 10,611
#4: Aug 25 '07

re: please help


Quote:

Originally Posted by mak1084

can you please tell me what should i do to get over to this problem today was my submission but i cant give please help me out..

Your 'cal' variable in your main() method is a JFrame itself, so get rid of that 'frm'
variable and treat your 'cal' variable as the main application frame, i.e. set its
window event listener, set its size, and make it visible.

kind regards,

Jos
Member
 
Join Date: Jul 2007
Posts: 44
#5: Aug 25 '07

re: please help


now i got it i did this
Expand|Select|Wrap|Line Numbers
  1.  
  2. import javax.swing.*;
  3. import java.awt.event.*;
  4. import java.awt.*;
  5.  
  6. public class Calculator extends JFrame implements ActionListener
  7.  
  8. {
  9.  
  10.     public Calculator()
  11.  
  12.     {
  13.  
  14.  
  15.         JButton jBtn1=new JButton("1");
  16.         JButton jBtn2=new JButton("2");
  17.         JButton jBtn3=new JButton("3");
  18.         JButton jBtn4=new JButton("4");
  19.         JButton jBtn5=new JButton("5");
  20.         JButton jBtn6=new JButton("6");
  21.         JButton jBtn7=new JButton("7");
  22.         JButton jBtn8=new JButton("8");
  23.         JButton jBtn9=new JButton("9");
  24.         JButton jBtn0=new JButton("0");
  25.         JButton jBtnDot=new JButton(".");
  26.         JButton jBtnPls=new JButton("+");
  27.         JButton jBtnMin=new JButton("-");
  28.         JButton jBtnMlt=new JButton("*");
  29.         JButton jBtnDiv=new JButton("/");
  30.         JButton jBtnClr=new JButton("Clr");
  31.  
  32.         JTextField jTFAns =new JTextField(15);
  33.         setLayout(new FlowLayout());
  34.  
  35.         add(jTFAns);
  36.         add(jBtn1);
  37.         add(jBtn2);
  38.         add(jBtn2);
  39.         add(jBtn3);
  40.  
  41.         add(jBtnPls);
  42.         add(jBtn4);
  43.         add(jBtn5);
  44.         add(jBtn6);
  45.  
  46.         add(jBtnMin);
  47.         add(jBtn7);
  48.         add(jBtn8);
  49.         add(jBtn9);
  50.  
  51.         add(jBtnDiv);
  52.  
  53.         add(jBtnDot);
  54.         add(jBtn0);
  55.         add(jBtnClr);
  56.         add(jBtnMlt);
  57.  
  58.         setSize(200,200);
  59.         setVisible(true);
  60.  
  61.  
  62.     }
  63.     public static void main(String[] args)
  64.     {
  65.         try{
  66.         Calculator cal=new Calculator();
  67.  
  68.         }
  69.         catch(Exception e)
  70.         {
  71.             e.printStackTrace();
  72.         }
  73.  
  74.  
  75.     }
  76. }
  77.  
thx a lot budy i now i understood tht i cant use JFrame , JPanel in one programme
Reply