我正在编写一个程序,根据用户在JList中选择的内容在图像上绘制不同的符号。这工作正常,但我的问题是,如果没有在JList中选择任何内容,我想要在图像上放置一个符号。有没有办法检查选择是否为空?这是我现在的代码,如果我不从JList中选择任何东西,它会抛出一个NullPointerException异常。如果Jlist中没有选择任何内容
if(categoriesList.getSelectedValue().equals("Bus")) {
BusSymbol bs = new BusSymbol(x, y);
mp.add(bs);
}
else if
(categoriesList.getSelectedValue().equals("Underground")) {
UndergroundSymbol us = new UndergroundSymbol(x,y);
mp.add(us);
}
else if (categoriesList.getSelectedValue().equals("Train")) {
TrainSymbol ts = new TrainSymbol(x,y);
mp.add(ts);
}
else if (categoriesList.getSelectedValue().equals(null)) {
NoCategorySymbol ncs = new NoCategorySymbol(x,y);
mp.add(ncs);
}
mp.validate();
mp.repaint();
这是因为'null'没有'.equals'方法。如果什么东西可能为空,你想用'== null'来检查它(或者理想情况下用另一种方法;在那个API上没有'hasSelectedValue()'方法吗?) – Aaron