Applet not working - Please Help!

Hi everybody,
I'm trying to make this calculator program work as an applet AND as an application. I tried using:
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 [email protected]
// 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 );
}

Ok I think I know what you problem is.
First move the main method above the calcg method ok. Just to make it easy.
Then you did something like
public static void main( String args[] )
calcg application = new calcg();
>> application.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); }}
the arrows indicate your error. You need to put the setDefaultCloseOperation inside the calcg method then you would put this:
public static void main(String[] args)
calcg application = new calcg();
application.calcg();
see you call the application to run the calcg method which will start your program.

Similar Messages

Maybe you are looking for

  • Do I need a  separate volume.

    My question, do you need a separate volume for Time Machine. or can data reside on the same volume as the backup.

  • Where is full installer for webcenter 11.1.1.5.0?  Link on website broken

    I tried to download the full installer of webcenter 11.1.1.5.0 from http://www.oracle.com/technetwork/middleware/webcenter/downloads/index.html It says directly below the link that this is a full installer but when you download it, the readme says it

  • Creating a hyperlink from a picture in a pdf that opens Outlook email

    I use Adobe Acrobat 8.1 and am trying to create a link in a PDF so that with READER 7.0 or higher, when a recipient clicks on a picture (object) it will access Outlook and open up a new email that the recipient would complete and then send! Is it via

  • Receiving channels 225 et al

    Not sure if this question is related to the massive Multicast thread earlier (much of which is all g(r)eek to me, I'm afraid) but I'm surprised that I still can't receive the channels 225 and upwards. I still get a message saying that I do not have a

  • CURSOR on a temp table?

    hello *okay this following is WORKING and CORRECT:* CREATE OR REPLACE FUNCTION fnGetParents ObjectId number, ObjectClassifier varchar2 RETURN typescursorType IS fnGetParents_cursor types.cursorType; BEGIN EXECUTE IMMEDIATE (''CREATE GLOBAL TEMPORARY