2

我正在开发一个应用程序,它通过使用 GET 调用与网站建立 http 连接。我正在获取数据集 ID,我想在下拉菜单中显示这些数据集 ID,以便用户可以选择它。

我还想将选定的数据集 id 存储在一个变量中,因为它将在我的应用程序中使用。

这就是我获取 DSid 中的值的方式(用于存储以 JSON 格式返回的数据集 id 的字符串数组)

URL urlDS = new URL("http:/link.json?key="+APIkey);
HttpURLConnection httpConDS = (HttpURLConnection) urlDS.openConnection(); 
StringBuilder sbDS = new StringBuilder();
while ((inputLineDS = inDS.readLine()) != null) {
    sbDS.append(inputLineDS);
    System.out.println(inputLineDS);
}
String ResultDS;
ResultDS=sbDS.toString();
System.out.println("result:"+ResultDS);
String jsonSourceDS = ResultDS;
JSONArray arrayDS;
try {
    arrayDS = new JSONArray(jsonSourceDS);
    for (int i = 0; i < arrayDS.length(); i++) {
        JSONObject firstObject = (JSONObject) arrayDS.get(i);
        System.out.println("Data set ID  " + firstObject.getString("datasetId"));

        DSid[i]=firstObject.getString("datasetId");
        ++countDSid;
    }
}

我用过JComboBox,但对我没有帮助。

combo.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        JComboBox cb = (JComboBox) e.getSource();
        String selected = (String) cb.getSelectedItem();
        labelp3.setText("You selected: " + selected);
    }
} );

这在我的登录类的构造函数中

 JComboBox combo = new JComboBox(DSid);

这个 DSid 是一个字符串数组,它使用 GET 调用存储数据集 id。

我无法使用数据集 ID 创建下拉菜单,如果我使用这些,它就是空的。

那么如何创建动态下拉菜单并将所选值存储在变量中?

数据集 (2,3) 中显示的值由我在类登录的 DSid 数组中静态给出。

4

0 回答 0