Main:
package com.company;

import javax.swing.*;

public class Main {

    public static void main(String[] args) {
        JFrame frame = new JFrame("Калькулятор");
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(200, 220);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        new Okno(frame.getContentPane());//Здесь мы добавляем окно
    }
}
Okno:
package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Okno extends JFrame {
    JButton c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, delenie, umnozhenie, plus, minus, ravno, ochistit, drob, ochistit1, ochistit2;
    JLabel stroka;
    JLabel stroka1;
    JLabel stroka2;

    eOkoshko hren = new eOkoshko();
    double pervoe;
    double vtoroe;
    double ravnu;
    boolean pl, mi, um, de;
    boolean chastpervovoChisla;
    boolean chastVtorovoChisla;
    boolean dva;

    public Okno(Container container) {
        container.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);

        container.setLayout(new GridBagLayout());
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.fill = GridBagConstraints.HORIZONTAL;
        constraints.weightx = 0.5;
        constraints.gridy = 0;
        c1 = new JButton("1");
        constraints.gridx = 0;
        constraints.gridy = 3;
        container.add(c1, constraints);
        c2 = new JButton("2");
        constraints.gridx = 1;
        constraints.gridy = 3;
        container.add(c2, constraints);
        c3 = new JButton("3");
        constraints.gridx = 2;
        constraints.gridy = 3;
        container.add(c3, constraints);
        c4 = new JButton("4");
        constraints.gridx = 3;
        constraints.gridy = 3;
        container.add(c4, constraints);
        c5 = new JButton("5");
        constraints.gridx = 0;
        constraints.gridy = 4;
        container.add(c5, constraints);
        c6 = new JButton("6");
        constraints.gridx = 1;
        constraints.gridy = 4;
        container.add(c6, constraints);
        c7 = new JButton("7");
        constraints.gridx = 2;
        constraints.gridy = 4;
        container.add(c7, constraints);
        c8 = new JButton("8");
        constraints.gridx = 3;
        constraints.gridy = 4;
        container.add(c8, constraints);
        c9 = new JButton("9");
        constraints.gridx = 0;
        constraints.gridy = 5;
        container.add(c9, constraints);
        c0 = new JButton("0");
        constraints.gridx = 1;
        constraints.gridy = 5;
        container.add(c0, constraints);
        delenie = new JButton("/");
        constraints.gridx = 2;
        constraints.gridy = 5;
        container.add(delenie, constraints);
        umnozhenie = new JButton("*");
        constraints.gridx = 3;
        constraints.gridy = 5;
        container.add(umnozhenie, constraints);
        plus = new JButton("+");
        constraints.gridx = 0;
        constraints.gridy = 6;
        container.add(plus, constraints);
        minus = new JButton("-");
        constraints.gridx = 1;
        constraints.gridy = 6;
        container.add(minus, constraints);
        ravno = new JButton("=");
        constraints.gridx = 2;
        constraints.gridy = 6;
        container.add(ravno, constraints);
        ochistit = new JButton("c");
        constraints.gridx = 3;
        constraints.gridy = 6;
        container.add(ochistit, constraints);
        stroka = new JLabel("0");
        constraints.gridwidth = 4;
        stroka.setVerticalAlignment(SwingConstants.TOP);
        stroka.setHorizontalAlignment(SwingConstants.RIGHT);
        constraints.gridx = 1;
        constraints.gridy = 0;
        container.add(stroka, constraints);
        stroka1 = new JLabel("0");
        constraints.gridwidth = 4;
        stroka1.setVerticalAlignment(SwingConstants.TOP);
        stroka1.setHorizontalAlignment(SwingConstants.RIGHT);
        constraints.gridx = 1;
        constraints.gridy = 1;
        container.add(stroka1, constraints);
        stroka2 = new JLabel("0");
        constraints.gridwidth = 4;
        stroka2.setVerticalAlignment(SwingConstants.TOP);
        stroka2.setHorizontalAlignment(SwingConstants.RIGHT);
        constraints.gridx = 1;
        constraints.gridy = 2;
        container.add(stroka2, constraints);
        drob = new JButton(".");
        constraints.gridwidth = 2;
        constraints.gridx = 0;
        constraints.gridy = 7;
        container.add(drob, constraints);
        ochistit1 = new JButton("c1");
        constraints.gridwidth = 1;
        constraints.gridx = 2;
        constraints.gridy = 7;
        container.add(ochistit1, constraints);
        ochistit2 = new JButton("c2");
        constraints.gridwidth = 1;
        constraints.gridx = 3;
        constraints.gridy = 7;
        container.add(ochistit2, constraints);

        c1.addActionListener(hren);
        c2.addActionListener(hren);
        c3.addActionListener(hren);
        c4.addActionListener(hren);
        c5.addActionListener(hren);
        c6.addActionListener(hren);
        c7.addActionListener(hren);
        c8.addActionListener(hren);
        c9.addActionListener(hren);
        c0.addActionListener(hren);
        ochistit.addActionListener(hren);
        plus.addActionListener(hren);
        minus.addActionListener(hren);
        delenie.addActionListener(hren);
        umnozhenie.addActionListener(hren);
        ravno.addActionListener(hren);
        drob.addActionListener(hren);
        ochistit2.addActionListener(hren);
        ochistit1.addActionListener(hren);
        while (true){ //Нужно для того чтобы калькулятор мог перебирать(то есть чтобы как только мы указали действие он сразу выводил значение из-за этого кнопка = может не понадобиться, но мне лень её убирать
            if (!dva){//часть отсюда кода работает не так как я предпологал, но смысла от этого действия всё равно бы не было
                ravnu = pervoe;//вот до сюда
            }else if (dva){
                vtoroe = Double.parseDouble(stroka1.getText());
                if (pl) {//эти 4 if выполняют действие =
                    ravnu = vtoroe + pervoe;
                } else if (mi) {
                    ravnu = pervoe - vtoroe;
                } else if (um) {
                    ravnu = pervoe * vtoroe;
                } else if (de) {
                    ravnu = pervoe / vtoroe;
                }
                stroka2.setText(Double.toString(ravnu));
            }
            stroka2.setText(Double.toString(ravnu));
        }
    }

    public class eOkoshko implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == c1) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("1");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "1";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("1");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "1";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c2) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("2");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "2";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("2");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "2";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c3) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("3");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "3";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("3");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "3";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c4) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("4");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "4";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("4");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "4";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c5) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("5");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "5";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("5");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "5";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c6) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("6");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "6";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("6");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "6";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c7) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("7");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "7";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("7");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "7";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c8) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("8");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "8";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("8");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "8";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c9) {
                if (!dva && !chastpervovoChisla) {
                    stroka.setText("9");
                    chastpervovoChisla = true;
                } else if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "9";
                    stroka.setText(dl1);
                } else if (dva && !chastVtorovoChisla) {
                    stroka1.setText("9");
                    chastVtorovoChisla = true;
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "9";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == c0) {
                if (!dva && chastpervovoChisla) {
                    String dl1 = (stroka.getText());
                    dl1 = dl1 + "0";
                    stroka.setText(dl1);
                } else if (dva && chastVtorovoChisla) {
                    String dl2 = (stroka1.getText());
                    dl2 = dl2 + "0";
                    stroka1.setText(dl2);
                }
            }
            if (e.getSource() == ochistit) {//этот if очищает весь калькулятор
                chastpervovoChisla = false;
                stroka.setText("0");
                stroka1.setText("0");
                stroka2.setText("0");
                dva = false;
                chastpervovoChisla = false;
                chastVtorovoChisla = false;
                ravnu = 0.0;
                pervoe = 0.0;
                vtoroe = 0.0;
            }
            if (e.getSource() == plus) {//этот if говорит говорит о том что два числа надо сложить и стоит этот if на кнопке плюс(+)
                pervoe = Double.parseDouble(stroka.getText());
                dva = true;
                pl = true;
                mi = false;
                um = false;
                de = false;
            }
            if (e.getSource() == minus) {//этот if говорит говорит о том что от первого числа надо вычесть второе и стоит этот if на кнопке минус(-)
                pervoe = Double.parseDouble(stroka.getText());
                dva = true;
                pl = false;
                mi = true;
                um = false;
                de = false;
            }
            if (e.getSource() == umnozhenie) {//этот if говорит говорит о том что два числа надо умножить и стоит этот if на кнопке умножить(*)
                pervoe = Double.parseDouble(stroka.getText());
                dva = true;
                pl = false;
                mi = false;
                um = true;
                de = false;
            }
            if (e.getSource() == delenie) {//этот if говорит говорит о том что первое число надо делить на второе и стоит этот if на кнопке деления(/)
                pervoe = Double.parseDouble(stroka.getText());
                dva = true;
                pl = false;
                mi = false;
                um = false;
                de = true;
            }
            if (e.getSource() == ravno) {
                vtoroe = Double.parseDouble(stroka1.getText());
                pervoe = Double.parseDouble(stroka.getText());
                if (pl) {
                    ravnu = vtoroe + pervoe;
                } else if (mi) {
                    ravnu = pervoe - vtoroe;
                } else if (um) {
                    ravnu = pervoe * vtoroe;
                } else if (de) {
                    ravnu = pervoe / vtoroe;
                }
                stroka2.setText(Double.toString(ravnu));
            }
            if(e.getSource()==drob) {//кнопка дроби, просто ставит точку в первой строчке
                if (!dva) {
                    String dladrobi = stroka.getText();
                    dladrobi = dladrobi + ".";
                    stroka.setText(dladrobi);
                } else if (dva){//кнопка дроби, просто ставит точку во второй строчке
                    String dladrobi = stroka1.getText();
                    dladrobi = dladrobi + ".";
                    stroka1.setText(dladrobi);
                }
            }
            if (e.getSource()==ochistit2){//очищает вторую строку
                stroka1.setText("0");
                dva = true;
                chastVtorovoChisla = false;
                ravnu = 0.0;
                vtoroe = 0.0;
            }
            if (e.getSource()==ochistit1){//очищает первую строку
                chastpervovoChisla = false;
                stroka.setText("0");
                dva = false;
                ravnu = 0.0;
                pervoe = 0.0;
            }
        }
    }
}