Hola
Debes usar un hilo aparte para realizar el cálculo, de esta manera, no te afectará la GUI.
Es decir:
Debes crear una clase aparte en donde realizes los calculos que necesitas, esta clase debe implementar la interfaz Runnable y la realizacion de los calculos que dices, debes hacerlo dentro del método run. Es decir:
public void run() {
//calculos necesarios
}
Ahora desde la gui debes llamar a la clase que realiza los calculos y meterla en un hilo aparte. ej:
new Thread(claseCalculos).start();
Y listo. asi los calculos se ejecutan independiente de la interfaz.
BYE