在我的应用程序中,我有两个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>
,甚至我需要放什么。
非常感谢你的帮助。