2013-03-10 49 views
1

我试图创建一个使用libvirt的活动虚拟机的列表,并填充与他们 不幸的是,组合框填充与libvirt的活跃域的组合框,什么心不是OK如何使用Java

public ArrayList<String> getActiveVirtualMachines() throws LibvirtException 
{ 
    int[] vmsOn = connect.listDomains(); 
    Domain array=null; 
    vmsWl.clear(); 

    System.out.println("List of running vms: "); 
    for (int i = 0; i < vmsOn.length; i++) 
    { 
     array = connect.domainLookupByID(vmsOn[i]); 
     vmsWl.add(array.getName()); 
    } 

    for (int i = 0; i < vmsWl.size(); i++) { 
     System.out.println(vmsWl); 
    } 

    return vmsWl; 
} 

的名单如下:

运行的虚拟机的列表:

[Ubuntu的,testNew2]

[Ubuntu的,testNew2]

至于反对: 列表运行的虚拟机:

Ubuntu的

testNew2

而且是同一个故事,组合框有2个相同的条目:

[Ubuntu的, testNew2] [Ubuntu的,testNew2]

回答

0

看来,当你遍历列表,你printin克整个列表,而不仅仅是你所需要的特定元素,所以考虑

for (int i = 0; i < vmsWl.size(); i++) { 
    System.out.println(vmsWl.get(i)); 
} 

甚至更​​好的替代

for (int i = 0; i < vmsWl.size(); i++) { 
    System.out.println(vmsWl); 
} 

for (String name : vmsWl) { 
    System.out.println(name); 
}