2011-04-11 55 views
0

我制作了一个程序,用于在本地联网的地方显示IP,网络名称和DNS查找。这里是我得到所有地址的代码:纳入进度条,同时等待查询完成

public void NetworkPing() throws Exception{ 
    jlist.clear(); 
    jlist2.clear(); 
    jlist3.clear(); 

    InetAddress localhost = InetAddress.getLocalHost(); 
    byte[] ip = localhost.getAddress(); 

    for(int i=1;i<254;i++){ 
     ip[3]=(byte)i; 
     InetAddress address = InetAddress.getByAddress(ip); 

     if(address.isReachable(1000)){ 
      jlist.addElement(address); //Machine is turned on and can be ping. 
     }else if(!address.getHostAddress().equals(address.getHostName())){ 
      jlist2.addElement(address); //Machine is known in a dns lookup. 
     }else{ 
      jlist3.addElement(address); //The host address and host name are equal, meaning the host name could not be resolved. 
     } 
     final DefaultListModel jlist1 = jlist; 
     this.jList1.setModel(jlist1); 
     final DefaultListModel jlisttwo = jlist2; 
     this.jList2.setModel(jlisttwo); 
     final DefaultListModel jlistthree = jlist3; 
     this.jList3.setModel(jlistthree); 
    } 
} 

该过程需要时间才能完成并完全显示到JList。我只想为用户合并一个进度条,以了解已完成多少百分比以及用户如何等待完成所有过程...

我的问题是,如何将进度条结合到上述代码?

任何帮助将不胜感激。谢谢。

+2

阅读的JProgressBar API,你会发现 “如何监测进展情况” 的链接Swing指南,其中将包含一个工作示例。 – camickr 2011-04-11 03:28:06

+1

@camickr很好的答案,但为什么包括'评论'*而不是'答案'? – 2011-04-11 03:29:46

+0

@Andrew,我只是喜欢不同:)如果我将包括实际的教程链接,那么我会添加它作为答案。我只是懒惰,没有添加链接,所以我发表了评论。 – camickr 2011-04-11 03:53:06

回答