import java.util.Scanner;
import javax.swing.JTextField;
public class App {
    public static void main(String[] args) {
    
        Scanner scanner = new Scanner(System.in);


        new GUI();
        
        try {
        System.out.println("Bitte geben Sie ihre Berechnung ein: ");
        String eingabe = scanner.nextLine();
        String[] teile = eingabe.split(" ");
        
        double zahl1 = Double.parseDouble(teile[0]);
        double zahl2 = Double.parseDouble(teile[2]);
        char operator = teile[1].charAt(0);
        
        System.out.println(taschenrechner(eingabe, zahl1, zahl2, operator));
        
    } catch (NumberFormatException e) {
            System.out.println("Bitte geben Sie einen gültigen Wert ein!");
        } finally {
            scanner.close();
        }
    }
    
    static double taschenrechner (String eingabe, double zahl1, double zahl2, char operator) {


        double ergebnis = 0.0;


        if (operator == '/' && zahl2 == 0) {
            throw new ArithmeticException("Das dividieren durch 0 ist nicht erlaubt!");
        }
        
        switch (operator) {
            case '-': ergebnis = zahl1 - zahl2; break;
            case '+': ergebnis = zahl1 + zahl2 ; break;
            case '*': ergebnis = zahl1 * zahl2; break;
            case '/': ergebnis = zahl1 / zahl2; break;
        }
            return ergebnis;
    }    
}

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


public class GUI extends App{


    private JTextField textFieldZahl1;
    private JTextField textFieldZahl2;
    private JTextField textFieldOperator;
    private JLabel labelErgebnis;
    private JButton buttonBerechnen;
    
    public GUI () {


    JFrame frame = new JFrame("Taschenrechner");
        frame.setLayout(new FlowLayout());
        frame.setSize(500, 500);
        frame.add(new JButton("+"));
        frame.add(new JButton("-"));
        frame.add(new JButton("*"));    
        frame.add(new JButton("/"));
        frame.add(new JTextField(20));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}

Wie kann ich die GUI jetzt mit der Taschenrechner-Logik verknüpfen?