在我的应用程序中,我正在根据数据库值更改UI。 下面是我的代码: 在这里,我将根据数据库值更新UI。
public class Lane5 implements Runnable{
private final LSDU_MenuController lsduController;
String dbUrl;
public Lane(LSDU_MenuController aThis) {
this.lsduController5 = aThis;
}
while(true){
if(cmnd5.wim.equals("Y")){
javafx.application.Platform.runLater( new Runnable() {
@Override
public void run() {
lsduController.fiveWIM.setStyle("-fx-background-image: url('/images/Wim_T.png');-fx-background-position: center;-fx-background-repeat: no-repeat; -fx-background-color: none;");
lsduController.logTextArea.appendText(laneNameUi+" WIM Working State "+cmnd5.sdf.format(cmnd5.calendar.getTime())+"\n");
}
});
} else {
javafx.application.Platform.runLater( new Runnable() {
@Override
public void run() {
lsduController.fiveWIM.setStyle("-fx-background-image: url('/images/Wim_T.png');-fx-background-position: center;-fx-background-repeat: no-repeat; -fx-background-color: red;");
lsduController.logTextArea.appendText(laneNameUi+" WIM Not Working State "+cmnd5.sdf.format(cmnd5.calendar.getTime())+"\n");
}
});
}
}
这里我正在调用Lane类: 这是我的控制器类
public class LSDU_MenuController implements Initializable {
@Override
public void initialize(URL url, ResourceBundle rb) {
new Thread(new Lane5(this)).start();
}}
如果我在一段时间后通过修改样式表来连续更新UI,我将获得以下异常:
exception in thread main java.lang.outofmemoryerror java heap space
这个问题与JavaFx问题或我的代码问题有关。
如果我像上面那样更新,那么就会给出这个例外 “线程主java.lang.outofmemoryerror java堆空间中的异常”