uzyskiwanie dostępu do zmiennych i przechodzenie komponentów przez różne wątki

To pytanie jest nieco powiązane z tym, o które prosiłemTUTAJ. Teraz mam klasę „Controller”, która składa się z głównej metody i wszystkich elementów swing. istnieje klasa o nazwie „VTOL”, która składa się ze zmiennej o nazwie „wysokość” (od tej chwili zadeklarowałem tę zmienną zmienną).

tutaj jest klasa, która składa się z wątku, który działa w tle:

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();
            }
        }

    }
}

Po pierwsze, problem, z którym miałem do czynienia na początku, polegał na tym, że nie mogłem zaktualizować wartości „wysokości” i pozostała ona przez cały czas trwania programu. Dlatego zadeklarowałem to jako niestabilne (nie wiem, czy to dobra praktyka)

Po drugie, istnieje klasa jLabel w klasie Controller o nazwie „lblAltitude”, chcę zaktualizować jej wartość, zmieniając ją w tym wątku, ale w jakiś sposób to się nie dzieje. Jak mogę to zrobić?

questionAnswers(3)

yourAnswerToTheQuestion