Alright here is the situation, I am trying to create a Calculator
applet that accepts complex number expressions, does the calculation and returns the results in a seperate text area in the form of:
expression = "rectangular form" or "polar form"
also there are three radio buttons which change the format of the expression.
at this point I can only get the calculate button to work half-arsed, and none of the radio buttons to work at all.
here is my CalcApplet.java file
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class CalcApplet extends JApplet implements ActionListener
{
protected JTextField entry;
protected JTextArea results;
protected JScrollPane resultsPane;
protected JButton calculate, clear, clearResults;
protected JRadioButton infix, prefix, postfix;
protected JPanel input, output, mode;
protected ButtonGroup group;
static
String sInfix = "Infix Notation";
static String sPrefix = "Prefix Notation";
static String sPostfix = "Postfix Notation";
public void init()
{
// create GUI components
entry = new JTextField(35);
results = new JTextArea(10, 40);
JScrollPane resultsPane = new JScrollPane(results);
calculate = new JButton("Calculate");
clear = new JButton("Clear");
clearResults = new JButton("Clear Results");
infix = new JRadioButton(sInfix);
infix.setActionCommand(sInfix);
infix.setSelected(true);
prefix = new JRadioButton(sPrefix);
prefix.setActionCommand(sPrefix);
postfix = new JRadioButton(sPostfix);
postfix.setActionCommand(sPostfix);
group = new ButtonGroup();
group.add(infix);
group.add(prefix);
group.add(postfix);
//create and fill mode JPanel
mode = new JPanel();
mode.add(infix);
mode.add(prefix);
mode.add(postfix);
//create and fill the input JPanel
input = new JPanel();
input.add(entry);
input.add(calculate);
input.add(clear);
//create and fill the output JPanel
output = new JPanel();
output.add(resultsPane);
output.add(clearResults);
//add the JPanels to the content pane
getContentPane().add(mode, BorderLayout.NORTH);
getContentPane().add(input, BorderLayout.CENTER);
getContentPane().add(output, BorderLayout.SOUTH);
//Setup ActionListener
calculate.addActionListener( this );
clear.addActionListener( this );
clearResults.addActionListener( this );
infix.addActionListener ( this );
prefix.addActionListener ( this );
postfix.addActionListener ( this );
}
public Term createTermObject()
{
String text = entry.getText();
Term expr = ExprParser.parse( text );
return expr;
}
public void actionPerformed( ActionEvent e )
{
Object src = e.getSource();
if (src == calculate)
{
Term term = createTermObject();
results.append( term + "=" + term.toString() + " or " /* + term.toPolarString*/ + "\n" );
}
else if (src == clear)
{
entry.setText("");
}
else if (src == clearResults)
{
results.setText("");
}
}
}
and here is the website it is currently on:
www.cet.nau.edu/~ckm33/cs126/proj5 and this is the site where the instructor put up what a finished product should look like and do:
http://www.cet.nau.edu/~apr/cs126/src/proj5/index.html As you can see if you put in 5*i on his version the result is proper,
but when you use mine it comes out wrong...
any ideas?