2016-03-24 18 views
1

Java'da aşağıdaki gibi bir döngü çalıştırdığım bir program geliştirdim.Belirli bir koşulda bir döngüde başka bir Java GUI programı çağırma

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 
} 

program sadece tüm 10 örneklerini, sonra değil i = 2 çalıştırdıktan sonra GUI programı çağırır mesele bu. Java GUI programında bulunan diğer bazı eylemleri gerçekleştirmek istiyorum. Ben i = 2 zaman ayrı bir iş parçacığı (Java çoklu iş parçacığı) çağırma ile denedim. Biri sorunu çözmek için bana yardımcı olabilirseniz çok sevinirim

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 
    } 
} 

: Ve

if (i==2) 
{ 
    MyRunnable myRunnable = new MyRunnable(10); 
    Thread t = new Thread(myRunnable); 
    t.start();     
    try { 
     Thread.sleep(20000); 
    } 
    catch (InterruptedException ie) { }  
} 

olarak yeni MyRunnable sınıf yarattı.

cevap

0

Döngüyü hangi sırada çalıştırıyorsunuz? Diğer gui programı, çağrı süreci ile aynı süreçte çalışıyor. Her ikisinin de aynı iş parçacığı üzerinde oluşturulduğunu varsayarak, döngü oluşturma iş parçacığı üzerinde çalışıyorsa, ikinci program oluşturulamayacak. Neden guiprog2'yi ayrı bir işlemde çalıştırmıyorsunuz?

İlgili konular