2016-04-19 10 views
0

テーブルビューと行のインデックスから行が削除されたときに発生するイベントを捕捉する方法を知る必要があります。テーブルビューから行が削除された時点で、TableView.getSelectionModel()。clearSelection()メソッドが呼び出されます。しかし、私はテーブルビューで利用可能な最後のインデックスを選択することです。テーブルビューから行が削除されたときのイベントハンドラ

Tableview.getSelectionModel()。clearAndSelect()は、行が自動的に削除されることがあるため、オプションではありません。

タイプテーブルについてよろしく

答えて

2

、例えば、Person

import javafx.collections.ListChangeListener.Change ; 

// .... 

TableView<Person> table = ... ; 

table.getItems().addListener((Change<? extends Person> c) -> { 
    while(c.next()) { 
     if (c.wasRemoved()) { 
      int numRemoved = c.getRemoved().size(); 
      int index = c.getFrom(); 
      System.out.println(numRemoved + " items removed from table at index "+index); 
     } 
    } 
}); 

ListChangeListener.Change documentationは、様々なシナリオの下等c.getFrom()c.getTo()c.wasRemoved()c.getAdded()、によって返される値を記載しています。

+0

正しい表現はtable.getItems()でした。addListener((ListChangeListener.Change <?extends Person> c) - > {});編集してください。よろしく。 –

+0

それはちょうどあなたの輸入に依存します.... –

+0

私はこれを得ました。ありがとう!! –

関連する問題