Help With JApplet Problem!

Discussion in 'Java' started by Maria Laura Re, Dec 7, 2003.

  1. 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


    // 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 );
    }
    }
    Maria Laura Re, Dec 7, 2003
    #1
    1. Advertising

  2. "Maria Laura Re" <> wrote in message
    news:...
    > Hi everybody,
    >
    > I'm trying to make this calculator program work as an applet AND as an
    > application. I tried using:


    Yes, I noticed that over on c.l.j.g where you multi posted
    this message.

    Please do _not_ mutli post, and see my answer on c.l.j.g

    --
    Andrew Thompson
    * http://www.PhySci.org/ PhySci software suite
    * http://www.1point1C.org/ 1.1C - Superluminal!
    * http://www.AThompson.info/andrew/ personal site
    Andrew Thompson, Dec 7, 2003
    #2
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. John C. Bollinger

    Re: JApplet + API question

    John C. Bollinger, Jun 27, 2003, in forum: Java
    Replies:
    0
    Views:
    1,077
    John C. Bollinger
    Jun 27, 2003
  2. Eric Olander

    Re: JApplet + API question

    Eric Olander, Jul 7, 2003, in forum: Java
    Replies:
    1
    Views:
    467
    Sudsy
    Jul 8, 2003
  3. John D.
    Replies:
    5
    Views:
    839
    John D.
    Nov 2, 2005
  4. Replies:
    2
    Views:
    757
    Andrew Thompson
    Dec 16, 2005
  5. Steven J. Sobol

    Help! Jimi, JApplet, no events?

    Steven J. Sobol, Aug 27, 2006, in forum: Java
    Replies:
    4
    Views:
    339
    Andrew Thompson
    Aug 29, 2006
Loading...

Share This Page