我有 4 个与 ListView 交互的简单按钮。如果单击某个按钮,您可以向下移动一个、向上移动一个、到 ListView 的开头和结尾。所以每个按钮都有不同的 onAction 方法: (按钮:上一个、下一个、结束、开始)
public void toNext(){
list.getSelectionModel().selectNext();
}
public void toPrevious(){
list.getSelectionModel().selectPrevious();
...
但现在我想禁用这些按钮,如果它们无法转到开始、结束、向上或向下。我尝试通过将此代码添加到方法 toPrevious (示例)中来执行以下操作:
previous.setDisable(list.getSelectionModel().getSelectedIndex() == 0)
此代码确实禁用了该按钮,但当您可以转到 ListView 中的上一个字符串时,它不会启用它。有没有人有一个简单的解决方案?
最佳答案
您可以使用绑定(bind):
previous.disableProperty().bind(
list.getSelectionModel().selectedIndexProperty().isEqualTo(0));
next.disableProperty().bind(
list.getSelectionModel().selectedIndexProperty().isEqualTo(
Bindings.size(list.getItems()).subtract(1)));
关于 ListView 中的 JavaFx 按钮启用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36295682/