Javafx pobranie elementu z "OnMouseEntered"

Javafx pobranie elementu z "OnMouseEntered"
BM
  • Rejestracja:około 9 lat
  • Ostatnio:około 9 lat
  • Postów:5
0

user image

Chciałbym aby po najechaniu myszką nad daną pozycję np.: Ostrożnie z dziewczynami\n22:25\n wyświetlić okno w którym pojawi się "zdjęcie" filmu razem z jego opisem. Mam już wszystko gotowe pod kątem API (ustawiłem filmweb API - nieoficjalne ale w pełni działające) oraz okna wyświetlającego opis danego filmu, mam jednak problem z integracją. Dla każdego elementu ListView przypisałem przy pomocy metody .setOnMouseEntered wywołanie mojej metody która pobierałaby z API potrzebne mi informacje i prezentowała w GUI w odpowiedniej formie, jednak mam problem, bo nie wiem który konkretnie element w listview został wywołany. Doszedłem do miejsca takiego .setOnMouseEntered(e -> getMovieDescription(e.getPickResult().getIntersectedNode().toString())); co daje mi coś takiego: ListViewSkin$2@27c30208[styleClass=cell indexed-cell list-cell]'Ostrożnie z dziewczynami\n22:25\n', jednak chciałbym uzyskać efekt w którym do metody getMovieDescription przekazuje samą nazwę filmu. Czy istnieje sposób uzyskania pożądanego efektu w postaci przekazania do metody getMovieDescription tylko tego : Ostrożnie z dziewczynami\n22:25\n ? mogę robić to ręcznie bo z tego ci widzę to każdy taki ciąg ma interesującą mnie nazwę filmu między apostrofami, jednak może istnieje inna możliwość ?

TA
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 8 lat
  • Postów:27
1

String[] a = e.getPickResult().getIntersectedNode().toString().split("'"); (<-- tu dajes ' jeden gorny przecinek )
i pobierasz z tego a[1] powinien mieć "Ostrożnie z dziewczynami\n22:25\n" cos takiego lecz te rozwiązanie jest mało elegackie.
PS jak dajesz coś takiego to dodaj chociaż skrawek kodu bo średnio wiem jak to wygłada w kodzie u ciebie.

TA
getSelectionModel().getSelectedIndex() getSelectionModel().getSelectedItem() ewentualnie może ci chodzić o to

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.