对不起,英语不好。我是JavaFX的新手。我正在用COM端口编写一个JavaFX应用程序。我发送AT命令并从COM端口获得响应,然后初始化一些变量。在这个控制器中有3个方法用来初始化3个变量。JavaFX应用程序UI响应
private void findModemPorts() {
// send 4 AT command then
// get response & initialize myPort
myPort = "XXXX";
}
private void findNumber() {
// send 4 AT command then
// get response & initialize myNumber
myNumber= "XXXX";
}
private void currentBalanc() {
// send 10 AT command then
// get response & initialize currentBalance
currentBalance ="XXXX";
}
运行该应用程序时在buttonAction事件
@FXML
private void handleStartButtonAction(ActionEvent event) {
pin = text_field_pin.getText();
backgroundThread = new Service<Void>() {
@Override
protected Task<Void> createTask() {
return new Task<Void>() {
@Override
protected Void call() throws Exception {
findModemPorts();
findModemPorts();
currentBalanc();
return null;
}
};
}
};
backgroundThread.setOnSucceeded(new EventHandler<WorkerStateEvent>() {
@Override
public void handle(WorkerStateEvent event) {
level_oparetor.setText(myOparetor);
level_number.setText(myNumber);
level_current_balance.setText(currentBalance);
}
});
backgroundThread.start();
}
现在把这块3方法完成任务的整个紧靠30秒然后在一次3级组文本得手。但是我想在每个层次初始化一个值之后设置文本。请帮帮我。提前致谢。
在三个不同的线程中运行三个AT命令是不是更快得到响应“平行”?我只是好奇:) – DVarga
非常感谢@IchichiUchiha – crazyCoder
@Darga那么取决于OP的用例;) – ItachiUchiha