ListView 中的 JavaFx 按钮启用程序

标签 java listview button javafx

我有 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/

相关文章:

java - 如何使用更新的数据库内容定期刷新 JSP?

android - 在 ExpandableListView 中禁用突出显示

python - 禁用 tkinter 小部件的焦点?

java - 关于cssparser

java - 在另一个 log4j 项目中使用 jar 时,不会创建来自外部 jar 的 log4j 日志文件

android - 在 ListView 之前滚动一个 View ,就像 Lollipop 手机应用程序一样

android - id 属性为 'android.R.id.list' 的 ListView 正确设置 ListView id 时出错

python - python中的鼠标侧按钮?

android - 相对布局未将按钮放置到位

java - 使用 CSS 实现 Swing 样式