2013-12-17 47 views
0

我創建了一個ping程序來ping 5服務器。如何在進度運行時讓進度條運行。當ping操作完成進度爲100%Java進度條獲得運行功能

private void btnGetstatusActionPerformed(java.awt.event.ActionEvent evt) {            

     try { 

      pingserver1(); 
      pingserver2(); 
      pingserver3(); 
      pingserver4(); 
      pingserver5(); 

    }  

    public void pingserver1() throws UnknownHostException, IOException { 

     InetAddress addr = InetAddress.getByName("127.0.0.1"); 

     System.out.println("Sending Ping Request to " + addr); 
     boolean status = addr.isReachable(5000); 

    } 

.... 
+1

許多類似的問題可能的複製。對JProgressBar教程進行一點搜索和簡單閱讀就會告訴你使用SwingWorker。 –

+0

[使用SwingWorker在GUI中添加進度條]的可能重複(http://stackoverflow.com/questions/14928213/using-swingworker-to-add-a-progress-bar-in-a-gui) –

回答

1

你可以自己創建一個SwingWorker,在doInBackground方法中,你執行你pingserverx方法。

然後,您可以使用SwingWorker的進度API發送有關更新進度的通知,並在ProperyChangeListener之內更新UI。

exampleexample

看看Concurrency in Swing更多細節