Obecnie mam dwa widoki tabeli na jednym ekranie, co powoduje, że oba Widoki stołów mają wiersze, które użytkownik może wybrać.JavaFX8: Jak utworzyć detektor do wyboru wiersza w Tableview?
Teraz chcę wybrać tylko jeden wiersz w tym samym czasie (nie ma znaczenia, która tabela jest wybrana z). Myślałem o jakimś słuchaczu, który odznacza drugi rząd, gdy wybierany jest wiersz. Jest to moja pierwsza konfiguracja:
Krok 1 Szukaj sposób, aby stała się wiążąca metodę doboru rzędu (nie istnieje coś takiego jak tableview.setOnRowSelected(method)
)
Krok 2 Utwórz metodę, która działa jak pewnego rodzaju słuchacza: kiedy zostanie wybrany wiersz, wyłącz drugi wiersz (wiem jak to zrobić część)
Class1 selectedObject1 = (Class1)tableview1.getSelectionModel().getSelectedItem();
Class2 selectedObject2 = (Class2)tableview2.getSelectionModel().getSelectedItem();
if(selectedObject1 != null && selectedObject2 != null) {
tableview1.getSelectionModel().clearSelection();
}
Więc krok jeden jest problem. Zastanawiałem się nad możliwą do zaobserwowania listą, na której można utworzyć detektor, a następnie dodać wybrany wiersz do listy. Gdy tak się stanie, słuchacz może wywołać metodę. Czy ktoś ma jakąś wskazówkę, jak to zrobić?
Każda pomoc jest bardzo doceniana.
Działa doskonale, dziękuję! Dla innych, którzy chcą z tego skorzystać: po prostu umieść ten kod w inicjalizacji części kodu. W moim przypadku jest to kontroler pliku FXML. – bashoogzaad