【发布时间】:2021-07-26 14:38:33
【问题描述】:
美好的一天, 目前,有 6 个编辑框,它们连接到模型中的特定参数(用户可以在模型运行时编辑这些框)和一个不做任何事情的按钮。我想让这个按钮重新开始模拟,但是如果用户之前更改了编辑框中的一些内容,新的模拟将根据用户输入的值运行。模型名称为 Simulation。 如果有人知道示例(或特定代码),将不胜感激。
【问题讨论】:
标签: button simulation anylogic
美好的一天, 目前,有 6 个编辑框,它们连接到模型中的特定参数(用户可以在模型运行时编辑这些框)和一个不做任何事情的按钮。我想让这个按钮重新开始模拟,但是如果用户之前更改了编辑框中的一些内容,新的模拟将根据用户输入的值运行。模型名称为 Simulation。 如果有人知道示例(或特定代码),将不胜感激。
【问题讨论】:
标签: button simulation anylogic
为了澄清,有两个问题:
stopSimulation() 并将用户返回到模拟设置root 对象在 Simulation 的 After simulation run Java 操作中访问它们【讨论】:
补充Artem对问题1的回复:实际上是可以的,但是您将创建一个新线程,所以有点高级。此代码将停止当前实验并重新启动它:
new Thread() {
public void run() {
getExperiment().stop(); // stops the model
getExperiment().run(); // runs it again
getExperimentHost().setPresentable( getEngine().getRoot() );
}
}.start();
您可以确保按照 Artem 所讨论的那样为新运行设置参数。
PS:最好让用户简单地按下停止按钮,将值输入到实验页面,让用户在需要时重新调整它们并让她像往常一样重新启动模型。
【讨论】: