我正在开发一个应用程序,它通过使用 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 数组中静态给出。