JApplet Problem - please help!


DevX Home    Today's Headlines   Articles Archive   Tip Bank   Forums   

Results 1 to 3 of 3

Thread: JApplet Problem - please help!

  1. #1
    Join Date
    Dec 2003
    Posts
    2

    JApplet Problem - please help!

    Hi everybody,

    I'm trying to make this calculator program work as an applet AND as an application. I tried using:
    Code:
    public class calcg extends JApplet implements ActionListener{
    in many different ways, but it didn't work. Can sombody help me make it work?

    Below is the source code for my calculator program.

    Thanks in advance,

    -Maria

    ps-You can also e-mail me at laurare@rocketmail.com

    Code:
    // calculator 
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    
    public class calcg extends JFrame implements ActionListener
    {
      private JButton one, two, three, four, five, six, seven, 
    eight, nine, zero, dec, eq, plus, minus, mult, div, clear;
      private JLabel output, spacer;
      private Container container;
      private String operation;
      private double num1, num2, answer;
      private boolean clear_flag = false;
      
      //set up GUI
      public calcg()
      {
        //Create Title
        super("Calculator");
        JPanel container = new JPanel();	
        container.setLayout( new FlowLayout( FlowLayout.CENTER 
    ) );
        
        output = new JLabel("");	
        output.setBorder(new MatteBorder(2,2,2,2,Color.gray));
        output.setPreferredSize(new Dimension(1,26));	
        getContentPane().setBackground(Color.white);	
        getContentPane().add( "North",output );	
        getContentPane().add( "Center",container );
        
        //set up spacer
        spacer = new JLabel( "                                         
    " );
        container.add( spacer );
        
        //set up clear
        clear = new JButton( "CE" );
        clear.addActionListener(this);
        container.add( clear );
        
        //set up seven and register its event handler
        seven = new JButton( "7" );
        seven.addActionListener(this);
        container.add( seven );
    
        
        //set up eight
        eight = new JButton( "8" );
        eight.addActionListener(this);
        container.add( eight );
        
        //set up nine
        nine = new JButton( "9" );
        nine.addActionListener(this);
        container.add( nine );
        
        //set up div
        div = new JButton( "/" );
        div.addActionListener(this);
        container.add( div );
        
        //set up four
        four = new JButton( "4" );
        four.addActionListener(this);
        container.add( four );
        
        //set up five
        five = new JButton( "5" );
        five.addActionListener(this);
        container.add( five );
        
        //set up six
        six = new JButton( "6" );
        six.addActionListener(this);
        container.add( six );
        
        //set up mult
        mult = new JButton( "*" );
        mult.addActionListener(this);
        container.add( mult );
        
        //set up one
        one = new JButton( "1" );
        one.addActionListener(this);
        container.add( one );
        
        //set up two
        two = new JButton( "2" );
        two.addActionListener(this);
        container.add( two );
        
        //set up three
        three = new JButton( "3" );
        three.addActionListener(this);
        container.add( three );
        
        //set up minus
        minus = new JButton( "-" );
        minus.addActionListener(this);
        container.add( minus );
        
        //set up zero
        zero = new JButton( "0" );
        zero.addActionListener(this);
        container.add( zero );
        
        //set up dec
        dec = new JButton( "." );
        dec.addActionListener(this);
        container.add( dec );
        
        //set up eq
        eq = new JButton( "=" );
        eq.addActionListener(this);
        container.add( eq );
        
        //set up plus
        plus = new JButton( "+" );
        plus.addActionListener(this);
        container.add( plus ); 
        
        //Set size and make visible
        setSize( 190, 225 );
        setVisible( true );
        setResizable( false );
      }
      
      public void actionPerformed(ActionEvent ae)
      {	
        JButton but = ( JButton )ae.getSource();	
    
        //Handle what button was pushed
        //Action for dec button
        if( but.getText() == "." )
        {
          //if dec is pressed, first check to make shure there 
    is not already a decimal 
          String temp = output.getText();
          if( temp.indexOf( '.' ) == -1 )
            output.setText( output.getText() + but.getText() );
        }
        
        //Action for clear button
        else if( but.getText() == "CE" )
        {
          output.setText( "" );
          operation = "";
          num1 = 0.0;
          num2 = 0.0;
        }
        
        //Action for plus button
        else if( but.getText() == "+" )
        {
          operation = "+";
          num1 = Double.parseDouble( output.getText() );
          clear_flag = true;
          //output.setText( "" );
        }
        
        //Action for minus button
        else if( but.getText() == "-" )
        {
          operation = "-";
          num1 = Double.parseDouble( output.getText() );
          clear_flag = true;
          //output.setText( "" );
        }
        
        //Action for mult button
        else if( but.getText() == "*" )
        {
          operation = "*";
          num1 = Double.parseDouble( output.getText() );
          clear_flag = true;
          //output.setText( "" );
        }
        
        //Action for div button
        else if( but.getText() == "/" )
        {
          operation = "/";
          num1 = Double.parseDouble( output.getText() );
          clear_flag = true;
          //output.setText( "" );
        }
        
        //Action for eq button
        else if( but.getText() == "=" )
        {
          num2 = Double.parseDouble( output.getText() );
          //handle addition
          if( operation == "+" )
            answer = num1 + num2;
          else if( operation == "-" )
            answer = num1 - num2;
          else if( operation == "*" )
            answer = num1 * num2;
          else if( operation == "/" )
            answer = num1 / num2;        
          
          //display answer in output field
          output.setText( String.valueOf( answer ) ); 
          
          clear_flag = true;
          operation = "";
        }
        
        //Default action should only be used for numbers
        else
        {
          if( clear_flag == true )
          {
            output.setText( "" );
            clear_flag = false;
          }
          output.setText( output.getText() + but.getText() );
        }
      }
      
      //execute application
      public static void main( String args[] )
      {
        calcg application = new calcg();
        
        application.setDefaultCloseOperation( 
    JFrame.EXIT_ON_CLOSE );
      }
    }

  2. #2
    Join Date
    Mar 2003
    Posts
    834
    Why didn't:
    Code:
    public class calcg extends JApplet implements ActionListener{
    work?
    ArchAngel.
    O:-)

  3. #3
    Join Date
    Dec 2003
    Posts
    2

    japplet

    I don't know, it didn't come out right, it would appear in a popup window, not in the browser window

    In the applet, it also throws ClassCastException......dont know why, did you try it, what should I do???

    Thanks,

    Maria

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center
 
 
FAQ
Latest Articles
Java
.NET
XML
Database
Enterprise
Questions? Contact us.
C++
Web Development
Wireless
Latest Tips
Open Source


   Development Centers

   -- Android Development Center
   -- Cloud Development Project Center
   -- HTML5 Development Center
   -- Windows Mobile Development Center