我正在编写一个带有swing的程序,并使用JList显示多个对象E.我希望能够使用按钮从列表中删除对象。在我编写的ActionListener中:
List<Data> datas = dataList.getSelectedValuesList();
for(Data data : datas)
deleteData(data);
dataList.setListData(getDatas());
在Eclipse中或在带有'java -jar xyz.jar'的控制台中运行它时,这非常有效。但是,当双击.jar文件时,删除按钮根本不起作用,没有从列表中删除任何内容,甚至没有产生错误。
因此,我测试了List.getSelectedValues()方法:
Object[] datas = dataList.getSelectedValues();
for(Object data : datas)
deleteData((Data)data);
dataList.setListData(getDatas());
这种方法非常有效。但是,由于JDK 1.7支持getSelectedValuesList(),因此不推荐使用此方法。有人可以解释我的问题吗?它是Java构建问题吗?我怎样才能使用不推荐的方法?
谢谢!
答案 0 :(得分:3)
您的计算机上可能安装了多个Java版本。当您从命令行运行它时,它使用一个Java版本运行您的应用程序,当您双击另一个版本时。
您应该右键单击并执行“打开方式...”,然后选择编译应用程序的Java版本,而不是双击。