BlueJ将计算器小程序连接到两个类

时间:2015-10-28 02:58:53

标签: java applet calculator bluej

我遇到了一个很容易解决的问题,但我已经搜索了很长时间,我无法找到答案。我希望使用blueJ applet类来创建一个基本的计算器,它只需要获取不同类的字符串值,然后将它们插入到我的界面中。

我的小程序看起来像这样;

    import acm.program.*;
    import acm.gui.*;
    import javax.swing.*;
    import java.awt.Dimension;
    import java.awt.event.*;
    import java.awt.Color;


  public class Calculator extends Program
  {
     private JTextField infix, postfix, result;
     private JLabel infixLabel, postfixLabel, resultLabel;
     private JButton goButton, clearButton;

public Calculator()
{
    start();
    setSize(400, 200);
    setBackground(Color.GREEN);
}

public void init()
{
    TableLayout table = new TableLayout(4, 2);
    setLayout(table);

    infix = new JTextField();
    postfix = new JTextField();
    result = new JTextField();

    postfix.setEditable(false);
    result.setEditable(false);

    Dimension d = infix.getPreferredSize();
    d.setSize(200, d.getHeight());
    infix.setPreferredSize(d);

    infixLabel = new JLabel("<html><b>infix</b></html>");
    infixLabel.setForeground(Color.WHITE);
    postfixLabel = new JLabel("<html><b>postfix</b></html>");
    postfixLabel.setForeground(Color.WHITE);
    resultLabel = new JLabel("result");
    resultLabel.setForeground(Color.WHITE);

    goButton = new JButton("Go!");
    goButton.setActionCommand("Go!");
    clearButton = new JButton("Clear");
    clearButton.setActionCommand("Clear");

    add(infixLabel);
    add(infix);
    add(postfixLabel);
    add(postfix);
    add(resultLabel);
    add(result);
    add(goButton);
    add(clearButton);

    addActionListeners();
}

public void actionPerformed(ActionEvent ae)
{
    String infixString = ""; // Change this line
    String expression = ""; // Change this line   
    String postfixString;

    String what = ae.getActionCommand();
    if (what.equals("Clear"))
    {
        infix.setText("");
        postfix.setText("");
        result.setText("");
    }
    else if (what.equals("Go!"))
    {
        postfixString = ""; //Change this line
        postfix.setText("" + postfixString);
        result.setText("" + expression); // Change this line
    }
 }
}

这是一项作业,无论它在哪里,都会改变这一行&#39;是我必须改变的部分。在我上课的第一天,我不在这里,我在网上搜索了任何答案。基本上我有两个名为infixToPostfix的类,它返回一个&#39;字符串中缀&#39;基本上把它放在后缀顺序,而evaluatePostfix返回一个&#39;字符串后缀&#39;计算后缀表达式。

我如何将这些连接到我的applet?

1 个答案:

答案 0 :(得分:0)

不要初始化所有这些包,只需使用

import java.io.*:

基本上可以访问所有包 此外,既然你继承了一个类,那个类也必须在程序中,这个答案有点不完整,但是一旦理解了整个事情就会编辑错误