Untitled
unknown
plain_text
3 years ago
1.7 kB
15
Indexable
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());
}
}Editor is loading...