2013-03-23 11 views
10

JavaFX soll in der neuesten Version des JDK enthalten sein. Ich benutze 1.7 v 17. Importe wie:JavaFX wird in Eclipse nicht erkannt

import javafx.fxml.Initializable; 

werden nicht erkannt. Ich würde es vorziehen, nicht manuell auf das Glas verlinken zu müssen.

Ich habe gehört, dass dies ein Fehler vorher war, aber dass es behoben sein sollte. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7166330

Hat jemand eine Antwort darauf, wie javafx erkannt werden kann. Ich möchte nicht, dass e (fx) clipe es für mich macht und ich möchte das Glas nicht verlinken müssen. Soweit ich verstehe, ist es jetzt in der neuesten Version der Jdk enthalten, daher sollte ich in der Lage sein, einen Import wie oben rechts zu tun?

Antwort

9

JavaFX gehört nicht zu den Standard-Klassenpfaden in JDK7 - bitte sehen Sie, in welcher Version der Fehler behoben wurde!

In JDK8 ist dies behoben und JavaFX befindet sich auf dem ExtensionClasspath, aber trotzdem erhalten Sie Warnungen von Eclipse, weil Zeug auf dem Erweiterungs-Klassenpfad als Implementierungsdetail betrachtet wird - Sie können dies selbst in den JRE-Laufzeiten beheben.

Was ist dein Problem mit e (fx) clipse? Es würde alle Ihre Probleme beheben, egal ob Sie gegen JDK7 oder JDK8 entwickeln?

+1

Danke Tom. Ich habe tatsächlich Ihren e (fx) clipse installiert, aber es hat die Importe nicht repariert, und jeder @ FXML wird nicht erkannt. Ich habe das erkannt, weil ich Ihrem Link hier http://efxclipse.org/install.html#for-the-ambitious gefolgt bin und mir gesagt hat, dass es bereits installiert ist. Ich hatte erwähnt, dass ich nichts anderes mehr verwenden möchte, weil ich dachte, dass es funktionieren sollte, ohne etwas "Besonderes" zu machen. – Matt

+0

Also hast du e (fx) clipse jetzt laufen? Wenn Sie Probleme beim Ausführen haben, sollten wir versuchen herauszufinden, was in Ihrem Fall nicht funktioniert. Ein Grund dafür könnte sein, dass Ihre Eclipse nicht mit JDK7 gestartet wurde und e (fx) clipse nicht geladen wird. Sie müssen auch Projekte mit dem Assistenten erstellen oder den JavaFX-Klassenpfadcontainer über den Projekteigenschaften-Dialog manuell hinzufügen. – tomsontom

+0

Er muss ausgeführt werden, da ich die css-Hinting-Funktionen verwenden kann ... Meine Controller-Klasse erkennt immer noch kein javafx Importe wie oben erwähnt ... Sollte ich das Projekt mit dem Assistenten neu erstellen, um zu sehen, ob das hilft? – Matt

5

Sie können die "jfxrt.jar" manuell hinzufügen! Es ist in dem installierten JDK. Beispiel:

  • Windows XP: "C: \ Programme \ Java \ jdk1.7.0_17 \ jre \ lib \ jfxrt.jar"
  • Windows 7 (32 Bit): "C: \ Program Files (x86) \ Java \ jdk1.7.0_17 \ jre \ lib \ jfxrt.jar "
  • Windows 7 (64 Bit):" C: \ Programme \ Java \ jdk1.7.0_17 \ jre \ lib \ jfxrt.jar "

Kopieren Sie die JAR-Datei und legen Sie sie in einem Unterordner im Projekt ab (z. B./lib).

Fügen Sie jetzt die "jfxrt.jar" zum Klassenpfad hinzu. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie unter Eigenschaften -> Java-Buildpfad -> Bibliotheken -> JARs hinzufügen aus ... und fügen Sie die JAR-Datei hinzu.

+0

Danke. Das hat für mich funktioniert. – Saju

9

auf Ubuntu 14.10 Ich hatte zuerst openjfx

sudo apt-get install openjfx 

dann installiere ich ein Standard-Projekt mit e (fx) clipse und die Standard-JRE (Java-8-openjdk-amd64) erstellt.