0

我正在使用一个 Web 服务,它返回“ArrayOfKeyValueOfintstring”类型的结果

我很困惑如何将这些数据添加到我的 java 组合框中。

这是我的代码

 org.tempuri.ThirdPartyService service = new org.tempuri.ThirdPartyService();
 org.tempuri.IThirdPartyService port = service.getBasicHttpBindingIThirdPartyService();
 // TODO initialize WS operation arguments here
 java.lang.String key = line.trim();
 // TODO process result here
 String>)port.getTests(key).getKeyValueOfintstring();
 com.microsoft.schemas._2003._10.serialization.arrays.ArrayOfKeyValueOfintstring result = port.getVulnerabilities(key);

编辑

for(int i=0;i<=result.getKeyValueOfintstring().size();i++)
{
   result.getKeyValueOfintstring().get(i).getKey();
   result.getKeyValueOfintstring().get(i).getValue();
   JOptionPane.showMessageDialog(null, "key is"+result.getKeyValueOfintstring().get(i).getKey());
   JOptionPane.showMessageDialog(null, "Value is"+result.getKeyValueOfintstring().get(i).getValue());
   model.addElement(new Item(key, value));

 }

我试图在对话框中获取密钥对并且我得到了正确的。但现在我不知道如何将它们添加到我的 ComboBox 中。我创建了表“向量模型 = 新向量();” 并将其添加到组合框中,如“cbTestName = new JComboBox(model);”

这是正确的方法还是我需要应用其他任何东西来将键值对添加到我的组合框中。

4

1 回答 1

0

如果你去声明

port.getTests(key).getKeyValueOfintstring(),

你可能会发现它被实现为

List<KeyValuePairOfintstring>

看起来KeyValuePairOfintstring

...

    protected Integer key;
...  
    protected String value;

因此,您可以做的其中一种方法是port.getTests(key).getKeyValueOfintstring()在循环中运行,并使用您希望在组合框中显示的 java 业务对象构建您的地图。

您可以覆盖对象的 toString 方法,这是控制它们在 ComboBox 中的外观的最简单方法。

于 2013-04-24T08:45:13.450 回答