2017-01-17 11 views

Antwort

3

Sie können einen Listener hinzufügen, auf die sortOrder Eigenschaft Ihres TableView, die ein ObservableList ist, und prüfen Sie, dass diese Liste nie mehr als einen Eintrag hat:

myTableView.getSortOrder().addListener((ListChangeListener.Change<? extends TableColumn> c) -> { 
    while (myTableView.getSortOrder().size() > 1) { 
     myTableView.getSortOrder().remove(1); 
    } 
}); 

Beachten Sie jedoch, dass dieser Ansatz die Change entkräftet Objekt für alle nachfolgenden Listener. Deshalb, wenn Sie für die sortOrder Eigenschaft andere Zuhörer haben, könnten Sie diesen Ansatz verwenden möchten:

myTableView.setOnSort(sortEvent -> { 
    while (myTableView.getSortOrder().size() > 1) { 
     myTableView.getSortOrder().remove(1); 
    } 
}); 
+0

Danke, arbeitet die zweite Option groß. Die erste Option ist weniger elegant, da dies wahrscheinlich dazu führt, dass der Change-Listener in eine Art unnötige Schleife gerät. – Jai