Java GUI计算器:创建一个可以对数字进行简单加法和减法的小程序

时间:2014-07-27 18:33:49

标签: java compiler-construction applet calculator

我想在夏天扩展我对Java的了解,所以我正在使用带有GUI的计算器应用程序,这是一个applet,我希望它能为给定的数字做简单的加法和减法。我希望同时拥有.java.html个文件。当我尝试编译我的应用程序的代码时,我收到一个错误:

C:\Users\quinja>javac Calculator.java javac: 
file not found: Calculator.java Usage: 
javac use -help for a list of possible options

我看不到任何错误,但我是Java的新手,所以如果有人能看到它并试图找到导致错误的任何内容,那么我将非常感激地解释如何修复它们。 / p>

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Calculator {
    public static void main(String[] args) {  
        CalculatorFrame frame = new CalculatorFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

//   A frame with a calculator panel.
class CalculatorFrame extends JFrame {
    public CalculatorFrame() {
        setTitle("Calculator");
        CalculatorPanel panel = new CalculatorPanel();
        add(panel);
        pack();
    }
}

//   A panel with calculator buttons and a result display.

class CalculatorPanel extends JPanel {  
    public CalculatorPanel() {  
        setLayout(new BorderLayout());

        result = 0;
        lastCommand = "=";
        start = true;

        // add the display

        display = new JButton("0");
        display.setEnabled(false);
        add(display, BorderLayout.NORTH);

        ActionListener insert = new InsertAction();
        ActionListener command = new CommandAction();

        // add the buttons in a 4 x 4 grid

        panel = new JPanel();
        panel.setLayout(new GridLayout(4, 4));

        addButton("7", insert);
        addButton("8", insert);
        addButton("9", insert);
        addButton("/", command);

        addButton("4", insert);
        addButton("5", insert);
        addButton("6", insert);
        addButton("*", command);

        addButton("1", insert);
        addButton("2", insert);
        addButton("3", insert);
        addButton("-", command);

        addButton("0", insert);
        addButton(".", insert);
        addButton("=", command);
        addButton("+", command);

        add(panel, BorderLayout.CENTER);
    }

    /*
    Adds a button to the center panel.
    @param label the button label
    @param listener the button listener
    */
    private void addButton(String label, ActionListener listener) {  
        JButton button = new JButton(label);
        button.addActionListener(listener);
        panel.add(button);
    }

    /*
    This action inserts the button action string to the
    end of the display text.
    */
    private class InsertAction implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            String input = event.getActionCommand();
            if (start)  {
                display.setText("");
                start = false;
            }
        display.setText(display.getText() + input);
        }
    }

    /*
    This action executes the command that the button
    action string denotes.
    */
    private class CommandAction implements ActionListener {
        public void actionPerformed(ActionEvent event) {  
            String command = event.getActionCommand();

            if (start) {  
                if (command.equals("-")) { 
                   display.setText(command); 
                   start = false; 
                } else {
                    lastCommand = command;
                }
            } else {  
                calculate(Double.parseDouble(display.getText()));
                lastCommand = command;
                start = true;
            }
        }
    }

    /*
    Carries out the pending calculation. 
    @param x the value to be accumulated with the prior result.
    */
    public void calculate(double x) {
        if (lastCommand.equals("+")) {
            result += x;
        } else if (lastCommand.equals("-")) {
            result -= x;
        } else if (lastCommand.equals("*")) {
            result *= x;
        } else if (lastCommand.equals("/")) {
            result /= x;
        } else if (lastCommand.equals("=")) {
            result = x;
        }

        display.setText("" + result);
    }

    private JButton display;
    private JPanel panel;
    private double result;
    private String lastCommand;
    private boolean start;
}

3 个答案:

答案 0 :(得分:0)

检查您的PATH / ClassPath并尝试将绝对PATH用于您的Calculator.java文件,例如javac c:\tmp\Calculator.java

你在哪里写下你的Calculator.java文件?

答案 1 :(得分:0)

这是因为您的cmd指向目录'quinja'而您的java文件位于其他位置。首先尝试将cmd指向java文件所在的目录,然后编译..

您可以使用cd命令转到所需的目录。 如果您不知道如何告诉我您的文件和文件名的路径,那么我会告诉您。

评论后暂停:

打开cmd,然后输入 - cd java

javac yourfilename.java

答案 2 :(得分:0)

如果您不熟悉命令行工具,也可以尝试使用GUI工具。 您可以尝试Eclipse,Netbeans等...