| Author |
Help!
|
Christopher McLaughlin
Greenhorn
Joined: Aug 10, 2005
Posts: 3
|
|
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?
|
 |
fred rosenberger
lowercase baba
Bartender
Joined: Oct 02, 2003
Posts: 9956
|
|
Christopher, Please don't post the same question in multiple forums. It's exremely frustrating when somebody takes the time to help you, and then finds out you've already gotten an answer in a different place. Also, you may get confused when different people start giving different suggestions as to what to try... i imagine a moderator will close one of these posts soon... Link to other thread
|
Never ascribe to malice that which can be adequately explained by stupidity.
|
 |
 |
|
|
subject: Help!
|
|
|