我正在研究java fxml,其中我接受2个输入并使用它们来运行脚本。 我在脚本的执行点暂停
我的问题是当我仅提供1个输入(例如1 2加3等于)时,代码运行正常 但是当我提供2个输入(例如1 2加和3个相等)时,代码在最后一步停止在countDownLatch.await()上,并且不打印脚本输出。
我开始在fxml按钮上单击类似以下的内容
Executors.newSingleThreadExecutor().submit(()-> {
method(ui_inputs1);
method(ui_inputs2)
}):
我正在尝试在FXML UI中实现暂停,即直到用户单击诸如debug之类的东西,然后用户将选择要暂停的UI点。
类似这样的
public void onExcecute(
if (debugMode) {
//check is breakpoint the do Platform.runLater(() + UI updates//
countDownLatch.await();
countDownLatch = new CountDownLatch(1);
}
}
当用户单击“播放下一个”按钮时,它将移至下一步,直到达到执行点
public void onHitBreakpoint() {
Platform.runLater(()->{
addStackDebug(listener,false);});
}
playToNextExecPoint() {
countDownLatch.countDown();
}
public void onfinish{
// script success or failed
}
让我们解析1 2加3等于
执行OP_CODE操作:[1]
让我们解析1 2加3等于
-------按“播放”继续--------
执行OP_CODE操作:[2]
让我们解析2个ADD 3个相等的
-------按“播放”继续--------
执行OP_CODE操作:[ADD]
让我们解析“ ADD 3 EQUAL”
-------按“播放”继续--------
执行OP_CODE操作:[3]
让我们解析3个相等的
-------按“播放”继续--------
执行OP_CODE操作:[EQUAL]
让我们解析EQUAL -------按“播放”继续-------- 脚本成功。 脚本成功。
当我提供2个输入时,缺少粗体和斜体的打印内容