2017-04-10 15 views
0

があります。私はJavaFXの初心者ですので、この質問はちょっとばかばかしいかもしれませんが、私には裸であるかもしれません。私はListViewに複数の選択モードを有効にしようとしました。しかし、それは私がそれをテストするとき、それはまだ単一選択モードにあるようであり、何がうまくいかなかったのか分からない。助けて?ありがとうございました。ここに私のコードはあります:Java:ListViewは複数の選択モードを有効にするにはどうすればよいですか?

ObservableList<String> alphabets 
      = FXCollections.observableArrayList("Aa", "Bb", "Cc", 
        "Dd", "Ee"); 

ListView<String> AlphabetsLv = new ListView<String>(alphabets); 
AlphabetsLv.setPrefSize(80, 80); 
AlphabetsLv.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); 
+0

http://stackoverflow.com/questions/24158394/javafx-listview-multiple-selection – c0der

答えて

1

ShiftキーまたはCtrlキーを押しながら選択します。

シフト - >範囲を選択し、上から下の選択を選択します。
Ctrl - >は、選択した個々の行を追加します。あなたは、キーを使用せずに、複数の選択をしたい場合は

、あなたはこのポストからセルファクトリを使用することができます。 Deselect an item on an javafx ListView on click

をお使いの場合:

AlphabetsLv.setCellFactory(alv -> { 
     ListCell<String> cell = new ListCell<>(); 
     cell.textProperty().bind(cell.itemProperty()); 
     cell.addEventFilter(MouseEvent.MOUSE_PRESSED, event -> { 
      AlphabetsLv.requestFocus(); 
      if (!cell.isEmpty()) { 
       int index = cell.getIndex(); 
       if (AlphabetsLv.getSelectionModel().getSelectedIndices().contains(index)) { 
        AlphabetsLv.getSelectionModel().clearSelection(index); 
       } else { 
        AlphabetsLv.getSelectionModel().select(index); 
       } 
       event.consume(); 
      } 
     }); 
     return cell; 
    }); 
+0

ありがとう、とても助かりました! –

関連する問題