Acceso a variables y componentes de swing a través de diferentes hilos.

Esta pregunta está relacionada de alguna manera con la que hiceAQUÍ. Ahora, tengo una clase "Controlador" que consiste en el método principal y todos los componentes de swing. hay una clase llamada "VTOL" que consiste en una variable llamada "altitud" (he declarado que esta variable es volátil a partir de ahora).

Aquí hay una clase que consta de un hilo que se ejecuta en segundo plano:

import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Vineet
 */
public class Gravity extends Thread {

    String altStr;
    double alt;
    Controller ctrl = new Controller();

    @Override
    public void run() {
        while (true) {
            alt=VTOL.altitude;
            System.out.println(alt);
            alt = alt-0.01;
            VTOL.altitude= (int) alt;
            altStr=new Integer(VTOL.altitude).toString();
            ctrl.lblAltitude.setText(altStr);
            try {
                Thread.sleep(10);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }
}

En primer lugar, el problema al que me enfrentaba inicialmente era que no podía actualizar el valor de "altitud", se mantuvo en 0 durante la ejecución del programa. Así que lo declaré como volátil (no sé si es una buena práctica)

En segundo lugar, hay una jLabel en la clase de Controlador llamada "lblAltitude", deseo actualizar su valor como ha cambiado en este hilo, pero de alguna manera eso no está sucediendo. ¿Cómo puedo hacer eso?

Respuestas a la pregunta(3)

Su respuesta a la pregunta