热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ListView,双击选择项目

如何解决《ListView,双击选择项目》经验,为你挑选了1个好方法。



1> eckig..:

我没有看到你的FXML文件,但是根据你的命名,我猜你的控制器方法private void listViewMouseDoubleClicked(MouseEvent e)会在你ListView被点击时被触发.

只要用户点击该区域中的任何位置,就会触发此事件ListView.你想要的是删除该onMouseClicked处理程序并将该代码移动到您的ListCell渲染器.

如果仅将鼠标侦听器附加到非空单元格,则只有ListCell在单击时才会触发代码.

例如:

public static class MouseClickListCell extends ListCell
{
    @Override
    protected void updateItem(T item, boolean empty) {
        super.updateItem(item, empty);

        if(empty) {
            setText(null);
            setOnMouseClicked(null);
        }
        else {
            setText(item.toString());
            setOnMouseClicked(ev -> doMagic());
        }
    }
}


推荐阅读
author-avatar
取个名字忒难le
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有