0

在我的应用程序中,我有两个 JList,我试图根据第一个中选择的内容显示第二个的内容。假设我在 List1 中有第 1 组、第 2 组和第 3 组,当我选择第 1 组时,我希望 List2 显示我在第 1 组中的内容,依此类推。我实际上已经对其进行了编码,并且它可以工作,但是它给出了以下警告:

[unchecked] unchecked call to setModel(ListModel<E>) as a member of the raw type JList
            exampleGroup2.setModel(group2Container.get(exampleGroup1.getSelectedIndex()));
  where E is a type-variable:
    E extends Object declared in class JList
1 warning

我读过类似的问题,比如这个,关于泛型等等,他们解决了类似的问题,给出了类似的警告,我必须指定<String>类型,但在这里没有帮助。

弹出警告的行本身就是这一行:

exampleList2.setModel(list2Container.get(exampleList1.getSelectedIndex()));

一切都被声明为:

DefaultListModel<String> list1Container = new DefaultListModel<>();
ArrayList<DefaultListModel<String>> list2Container = new ArrayList<>();
list2Container.add(new DefaultListModel<>());

JList exampleList1 = new JList<>((ListModel<String>) list1Container);
JList exampleList2= new JList<>((ListModel<String>) list2Container.get(0));

对不起,如果它有点乱,我尽量让它尽可能简短和清晰。正如我所说,我已经看过泛型,所以,但在这种情况下,我找不到我应该把 . 放在哪里<String>,甚至我必须放什么。

非常感谢您的帮助。

4

0 回答 0