-
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 );
}
}
-
Why didn't:
Code:
public class calcg extends JApplet implements ActionListener{
work?
ArchAngel.
O:-)
-
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
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks