我似乎无法让这段代码适用于RadioButtons。它继续给我一个新的ChangeListener错误,错误是"类型ChangeListener不是通用的;它不能用参数"参数化。但是,我无法找到任何与我下面不同的例子。
group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
public void changed(ObservableValue<? extends Toggle> ov, Toggle old_toggle, Toggle new_toggle) {
if (patrolBut.isSelected()) {
placeShipVert(patrolBoat, r, playerBoard, shapes);
} else if (destroyerBut.isSelected()) {
placeShipVert(destroyer, r, playerBoard, shapes);
}
}
});
感谢您的帮助。
答案 0 :(得分:1)
与上面的评论一样,您是否导入了正确的ChangeListener
?根据您的IDE(例如Eclipse),您可以设置错误和警告,如果它们覆盖方法,则必须向方法添加@Override注释。如你所想,你将覆盖一个方法(并因此添加一个@Override),IDE会警告你,事实上你并没有。
如果您使用Java 8,我个人将更改侦听器用作Lambda:foo.addListener( (v, o, n) -> handleNewValue(n));