listview

时间:2016-03-29 21:46:13

标签: java listview button javafx

我有4个与listview交互的简单按钮。如果单击某个按钮,您可以向下,向上,向列表视图的开头和结尾。所以每个按钮都有一个不同的onAction方法: (按钮:上一个,下一个,结束,开始)

public void toNext(){
    list.getSelectionModel().selectNext();
}

public void toPrevious(){
    list.getSelectionModel().selectPrevious();
...

但是现在我想要禁用按钮,如果它们无法进入开始,结束,向上或向下。我尝试通过将此代码添加到方法toPrevious(example):

来执行以下操作
previous.setDisable(list.getSelectionModel().getSelectedIndex() == 0)

此代码会禁用该按钮,但是当您可以转到列表视图中的上一个字符串时,它将不会启用它。有没有人有这个简单的解决方案?

1 个答案:

答案 0 :(得分:2)

您可以使用绑定:

previous.disableProperty().bind(
    list.getSelectionModel().selectedIndexProperty().isEqualTo(0));

next.disableProperty().bind(
    list.getSelectionModel().selectedIndexProperty().isEqualTo(
        Bindings.size(list.getItems()).subtract(1)));