小编Amm*_*mar的帖子

模仿CTRL +使用Javafx在ListView中单击多个选择

我正在尝试找到在ListView中选择多个项目的不同方法.GUI将在触摸屏显示器上运行,因此我将无法按CTRL + Click.通过研究各种过去的帖子,我已经能够通过将所有选定的项目保存在一个数组中然后循环遍历它来获得最终选择来实现多项选择.我的代码唯一的问题是,与CTRL +点击相比,选择顺利完成,因为每次选择新项目时,我的代码会导致类型闪烁.所以基本上listView清除所有选择,然后选择正确的选择.有没有办法让这种转变顺利进行?是否更容易模仿触摸以获得CTRL +点击效果?

selectedList = new int[totalTypes];//total number of item properties

for(int x=0; x<selectedList.length;x++){//0 = not selected, 1 = selected
    selectedList[x]=0;
}
testView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

    testView.setOnMouseClicked(new EventHandler<Event>(){
        @Override
        public void handle(Event event){
                if(selectedList[testView.getSelectionModel().getSelectedIndex()]==0){
                    selectedList[testView.getSelectionModel().getSelectedIndex()]=1;
                }
                else{
                    selectedList[testView.getSelectionModel().getSelectedIndex()]=0;
                }

                for(int x=0; x<selectedList.length;x++){
                    if(selectedList[x]==1){
                        testView.getSelectionModel().select(x); 
                    }
                    else{
                        testView.getSelectionModel().clearSelection(x);;
                    }
                }


        }

    });
Run Code Online (Sandbox Code Playgroud)

java listview javafx mouseclick-event javafx-8

6
推荐指数
1
解决办法
975
查看次数

标签 统计

java ×1

javafx ×1

javafx-8 ×1

listview ×1

mouseclick-event ×1