未经检查的调用setModel(ListModel <e>)

时间:2018-01-12 14:59:25

标签: java swing jlist listmodel

在我的应用程序中,我有两个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

我已经阅读了类似问题,例如this one,关于泛型等等,他们解决了类似的问题,这些问题也发出了类似的警告,我必须指定<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>,甚至我需要放什么。

非常感谢你的帮助。

0 个答案:

没有答案