loop: while((token=t.get_token())!=null)
{
t.remove(token);
System.out.println("token: "+token);
if(b.is_san_move_legal(token))
{
b.list.getSelectionModel().select(token);
所以我有一个listview,我在其中选择一个特定的令牌。然后在另一个类中,对象类' b'具有列表选择事件更改侦听器。
list.setItems(items);
list.getSelectionModel().selectedItemProperty().addListener(new
ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String
oldValue, String newValue) {
// Your action here
if(newValue != null) {
ObservableList<String> selectedItems =
list.getSelectionModel().getSelectedItems();
for(String s : selectedItems){
System.out.println(s);
make_san_move(s,true);
}
}
}
});
问题是每次调用make_san_move时listview需要更改但是选择似乎仍然附加到上一个选择,即使选择没有改变,make_san_move也会被相同的选择对象再次触发。我该如何解决这个问题。