Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.7 kB
7
Indexable
Never
import javax.swing.*;
import java.awt.*;
import java.math.BigDecimal;

public class GuiCalculator {
    public static void main(String[] args){ // главный метод main
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
               // run нашего основного окна
                CalculatorFrame frame = new CalculatorFrame(); //другое
                frame.setVisible(true); // видимость экрана
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // выход из приложения при нажатии на крестик
            }
        });
    }
}

class CalculatorFrame extends JFrame{ // класс, унаследованный от JFrame
    public CalculatorFrame(){ // конструктор
        setTitle("Калькулятор");
        CalculatorPanel panel = new CalculatorPanel();
        add(panel); // this.add(panel);
        pack();
    }
}


class CalculatorPanel extends JPanel{
    //заводим поля
    private JButton display;
    private JPanel panel;
    private BigDecimal result;
    private String lastCommand;
    private boolean start;

    public CalculatorPanel(){

    }

    public void calculate(BigDecimal x){ // тут происходят вычисления
        if (lastCommand.equals("+")) result = result.add(x);
        else if (lastCommand.equals("-")) result = result.subtract(x);
        else if (lastCommand.equals("*")) result = result.multiply(x);
        else if (lastCommand.equals("/")) result = result.divide(x);
        else if (lastCommand.equals("=")) result = x;

        display.setText(result.toString());
    }
}