我创建了一个具有三个选项的ListView,并且我想根据选定的ListView中的哪个选项绘制具有某种颜色的三角形。
String vald = categoryList.getSelectionModel().getSelectedItem();
Triangle triangle = new Triangle(x,y);
if(vald.equals("Bus")) {
triangle.setFill(Color.BLACK);
}
else {
triangle.setFill(Color.YELLOW);
}
center.getChildren().add(triangle);
当我选择三个选项中的任何一个时,它都起作用。问题是当我启动程序并且不选择列表中的任何内容时,它给了我一个nullpointer异常,并指向vald.equals(“ Bus”)和程序包声明。当我删除列表视图的代码时,它可以工作。所以我想知道在检查ListView中的项目时是否缺少某些东西。 (我检查了它是否与单选按钮一起使用,但确实如此,所以我陷入了困境)
尝试
if("Bus".equals(vald)) {
...
} else {
...
}