ListViewで複数の項目を選択するさまざまな方法を見つけようとしています。 GUIはタッチスクリーンモニター上で実行されるので、私はCTRL +クリックすることができません。さまざまな過去の記事を調べて、私は選択されたアイテムをすべてArrayに保持し、それをループして最終的な選択を得ることでMultiple Selectionを実装することができました。私のコードで唯一の問題は、CTRL +クリックと比較すると、選択がスムーズに行われていることです。コードが新しい項目が選択されるたびに点滅するタイプになります。したがって、基本的にlistViewはすべての選択をクリアし、正しいものを選択します。この移行を円滑に進める方法はありますか? CTRL +クリック効果を持つようにタッチを模倣する方が簡単でしょうか?Javafxを使用してCtrl +複数の選択をListViewでクリックします。
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);;
}
}
}
});
は、あなたが使用する必要があり、あなたがタッチ対応デバイス上でそれを実行したいようです'setOnMouseClicked'の代わりに' setOnTouchPressed' – TomN
フラッシュは 'clear and reset'アクションによって引き起こされるはずですが、私はそれが正しいデザインのために必要ではないと思います。 – TomN