我有4个与listview交互的简单按钮。如果单击某个按钮,您可以向下,向上,向列表视图的开头和结尾。所以每个按钮都有一个不同的onAction方法: (按钮:上一个,下一个,结束,开始)
public void toNext(){
list.getSelectionModel().selectNext();
}
public void toPrevious(){
list.getSelectionModel().selectPrevious();
...
但是现在我想要禁用按钮,如果它们无法进入开始,结束,向上或向下。我尝试通过将此代码添加到方法toPrevious(example):
来执行以下操作previous.setDisable(list.getSelectionModel().getSelectedIndex() == 0)
此代码会禁用该按钮,但是当您可以转到列表视图中的上一个字符串时,它将不会启用它。有没有人有这个简单的解决方案?
答案 0 :(得分:2)
您可以使用绑定:
previous.disableProperty().bind(
list.getSelectionModel().selectedIndexProperty().isEqualTo(0));
next.disableProperty().bind(
list.getSelectionModel().selectedIndexProperty().isEqualTo(
Bindings.size(list.getItems()).subtract(1)));