如何使用java在libvirt中使用活动域填充组合框

时间:2013-03-10 01:01:19

标签: java arraylist virtual-machine jcombobox libvirt

我正在尝试使用libVirt创建活动虚拟机列表,并使用它们填充组合框 不幸的是,有些事情还不错

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

列表如下所示:

正在运行的vms列表:

[Ubuntu,testNew2]

[Ubuntu,testNew2]

相反: 正在运行的vms列表:

Ubuntu的

testNew2

与组合框相同的故事有2个相同的条目:

[Ubuntu,testNew2] [Ubuntu,testNew2]

1 个答案:

答案 0 :(得分:0)

似乎当您在列表上进行迭代时,您将打印整个列表,而不仅仅是您需要的特定元素,因此请考虑替换

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

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

甚至更好:

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