Ich habe ein Programm entwickelt, in dem ich eine Schleife in Java wie folgt ausführen.Aufrufen eines anderen Java-GUI-Programms in einer Schleife unter einer bestimmten Bedingung
int i;
for (i=0; i<10; i++)
{
if(i==2)
{
call A GUI of another program (written in JAVA)
sleep(20000); // make it sleep for 20 sec.
}
// calling a MATLAB file, which itself passing some parameters to a software PowerWorld
}
Das Problem, dass das Programm nur das GUI-Programm aufruft, nachdem alle seine 10-Instanzen nach, nicht, wenn i = 2
. Ich möchte einige andere Aktionen ausführen, die im Java-GUI-Programm verfügbar sind. Ich habe versucht, mit einem separaten Thread (Java Multithreading), wenn i = 2
.
if (i==2)
{
MyRunnable myRunnable = new MyRunnable(10);
Thread t = new Thread(myRunnable);
t.start();
try {
Thread.sleep(20000);
}
catch (InterruptedException ie) { }
}
und eine neue MyRunnable Klasse:
public class MyRunnable implements Runnable {
private int var;
public MyRunnable(int var) {
this.var = var;
}
public void run() {
String[] args = {};
guiprog2.main(args); //A GUI of Program2 that needs to be invoked
}
}
ich es schätzen würde, wenn mir jemand helfen könnte, das Problem zu beheben.