Dodam tutaj jeszcze jedną odpowiedź, aby zapewnić to, co uważam za najbardziej minimalne podejście. W mojej konfiguracji Eclipse mam zainstalowany e (fx) clipse, który zapewnia jedną poprawkę do tego, a także zapewnia wiele przydatnych funkcji programistycznych, które prawie na pewno będziesz potrzebować, pisząc aplikacje JavaFX. Jest to prawdopodobnie najbardziej praktyczne podejście. Jeśli z jakiegoś powodu nie chcesz tej wtyczki, rozwiązanie przedstawione w tej odpowiedzi rozwiąże problem z najmniejszą ilością innych skutków ubocznych.
Jak wskazano w innych odpowiedziach, Eclipse domyślnie nie zezwala na dostęp do klas w plikach jar w katalogu jre / lib / ext, ponieważ nie gwarantuje się ich obecności na wszystkich platformach Java. Jeśli piszesz aplikację JavaFX 8, zakładasz, że jesteś na platformie, na której plik jfxrt.jar jest dostępny w lokalizacji lib / ext.
Zatem minimalnym rozwiązaniem tego problemu jest zezwolenie na dostęp do klas w tym pliku jar (i tylko w tym pliku jar). Aby to zrobić, kliknij prawym przyciskiem myszy projekt i otwórz okno dialogowe właściwości projektu. Wybierz opcję „Buduj ścieżkę” w lewym okienku i wybierz kartę „Biblioteki”. Zobaczysz wpis „JRE System Library”. Rozwiń ten wpis, a zobaczysz podpozycję „Reguły dostępu”:
Wybierz wpis „Reguły dostępu” i kliknij „Edytuj”. Kliknij „Dodaj”.
W sekcji „Rozdzielczość” wybierz „Dostępne” i w sekcji „Wzorzec reguły” wpisz javafx/**
:
Kliknij OK, aby zamknąć wszystkie okna dialogowe.
To ustawienie umożliwi dostęp do wszystkich klas w każdym paczce javafx.
, ale zachowa regułę w folderze ext dla wszystkich innych klas i jest w tym sensie „minimalne”.
Ponownie, to, co prawdopodobnie naprawdę chcesz zrobić, to zainstalować wtyczkę e (fx) clipse, ale według mojej wiedzy jest to rozwiązanie z najmniejszymi efektami ubocznymi w konfiguracji Eclipse.