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ć?