Java 在等待查询完成时合并进度条

Java 在等待查询完成时合并进度条,java,swing,user-interface,progress-bar,user-experience,Java,Swing,User Interface,Progress Bar,User Experience,我制作了一个程序,用于在本地联网位置显示IP、网络名称和DNS查找。以下是获取所有地址的代码: public void NetworkPing() throws Exception{ jlist.clear(); jlist2.clear(); jlist3.clear(); InetAddress localhost = InetAddress.getLocalHost(); byte[] ip = localhost.getAddress();

我制作了一个程序,用于在本地联网位置显示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);
    }
}
public void NetworkPing()引发异常{
jlist.clear();
jlist2.clear();
jlist3.clear();
InetAddress localhost=InetAddress.getLocalHost();
字节[]ip=localhost.getAddress();

对于(int i=1;我阅读了JProgressBar API,您将找到一个指向Swing教程“如何监控进度”的链接,其中将包含一个工作示例。@camickr很好的答案,但为什么它作为“注释”而不是“答案”包含?@Andrew,我只是想与众不同:)如果我把实际的链接包含到教程中,那么我会把它添加到答案中。我只是懒惰,没有添加链接,所以我把它作为一个评论。哈哈,我没有你那么专注。大多数事情在OP上毫无疑问或提到SSCCE,我认为它足够好的回答。