javafx application does not exist

hk

Bekanntes Mitglied
Ich habe soeben NetBeans 12.6 installiert und wollte eine bestehende JavaFX-Anwendung bearbeiten und bekomme schon beim "import javafx.application.Application" die Meldung does not exist. Ich habe auch nichts gefunden wo ich das runterladen könnte. Was kann ich da tun?
lg heinz
 
wie hast du javafx eingebunden? wenn du es mit dem Build Path gemacht hast könnte es sein dass sich dein Build path zurück gesetzt hat

wenn du es mithilfe von user librarys gemacht hast könnte es sein dass sich diese zurück gesetzt hat
 
du versuchst gerade auf die Klasse javafx.application.Application zuzugreifen und du hast im moment die java system bibliothek aber da ist die klasse gar nicht drinnen deswegen existiert die klasse gar nicht

die javafx bibliothek musst du erst deinem projekt hinzufügen mit einer der möglichkeiten
-> mit maven
-> mit gradle
-> mit dem Build Path
-> mit user Librarys

kommt auf deine IDE an und was du möchtest wie und was du tust um das paket rein zu bekommen nur irgendwie musst du es rein bekommen ansonsten werden deine imports die klasse nie finden
 
du versuchst gerade auf die Klasse javafx.application.Application zuzugreifen und du hast im moment die java system bibliothek aber da ist die klasse gar nicht drinnen deswegen existiert die klasse gar nicht

die javafx bibliothek musst du erst deinem projekt hinzufügen mit einer der möglichkeiten
-> mit maven
-> mit gradle
-> mit dem Build Path
-> mit user Librarys

kommt auf deine IDE an und was du möchtest wie und was du tust um das paket rein zu bekommen nur irgendwie musst du es rein bekommen ansonsten werden deine imports die klasse nie finden
Ich arbeite bisher mit ant und möchte das auch weiterhin, was ist dann der richtige Weg?
 
Ich arbeite bisher mit ant und möchte das auch weiterhin, was ist dann der richtige Weg?
mir wurde hier im forum gesagt dass ant veraltet ist seit java 9 oder 8 mit den modulen ( also maven und gradle haben da ant überholt )

dann bleibt dir soweit ich weis noch der build path oder irgendwas über ant ( wo ich keine ahnung habe )
build path funktioniert in allen IDEs ähnlich ich kenn aber nur Eclipse gut genug

https://www.tutorialspoint.com/javafx-with-eclipse

so würde es in eclipse gehen
 
mir wurde hier im forum gesagt dass ant veraltet ist seit java 9 oder 8 mit den modulen ( also maven und gradle haben da ant überholt )

dann bleibt dir soweit ich weis noch der build path oder irgendwas über ant ( wo ich keine ahnung habe )
build path funktioniert in allen IDEs ähnlich ich kenn aber nur Eclipse gut genug

https://www.tutorialspoint.com/javafx-with-eclipse

so würde es in eclipse gehen
Wie kann ich meine ant Anwendungen zum Beispiel auf maven bringen oder geht das nicht?
 
Wie kann ich meine ant Anwendungen zum Beispiel auf maven bringen oder geht das nicht?
das weis ich nicht da ich niemals ant benutzt habe, aber die ganzen abhängigkeiten mit maven einzufügen ist nicht schwer

Eclipse zb gibt dir möglichkeit deinem projekt die maven "nature" hinzuzufügen wo du dann die ganzen abhängigkeiten dann hinzufügen kansnt
 
für so eine standard pom die ich immer hab nutz ich diese musst halt die namen anpassen dass es in deinem projekt gefunden wird aber du wirst dann die module info brauchen

Java:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>projectID</groupId>
  <artifactId>artefaktID/artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <name>projektname</name>
    <build>
<resources>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.fxml</include>
            <include>**/*.css</include>
            <include>**/*.properties</include>
        </includes>
    </resource>
</resources>

        <pluginManagement>
            <plugins>
 
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>16</release>
                </configuration>
            </plugin>

            </plugins>
        </pluginManagement>
    </build>


  <dependencies>
      <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>17</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-graphics -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-graphics</artifactId>
        <version>17</version>
    </dependency>


  </dependencies>
</project>
 
für so eine standard pom die ich immer hab nutz ich diese musst halt die namen anpassen dass es in deinem projekt gefunden wird aber du wirst dann die module info brauchen

Java:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>projectID</groupId>
  <artifactId>artefaktID/artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <name>projektname</name>
    <build>
<resources>
    <resource>
        <directory>src/main/resources</directory>
        <includes>
            <include>**/*.fxml</include>
            <include>**/*.css</include>
            <include>**/*.properties</include>
        </includes>
    </resource>
</resources>

        <pluginManagement>
            <plugins>
 
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>16</release>
                </configuration>
            </plugin>

            </plugins>
        </pluginManagement>
    </build>


  <dependencies>
      <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>17</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-graphics -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-graphics</artifactId>
        <version>17</version>
    </dependency>


  </dependencies>
</project>
Was ist das? Und wie und wo kann ich das verwenden?
 
Also generell kannst du natürlich auch mit ant arbeiten. Da gibst du ja schlicht vor, wie der Compiler aufgerufen wird.

Egal, was du aber machst: du musst verstehen, was du machst! Also wäre es gut, z.B. openjfx.io anzusehen um da die Getting Started durchzugehen um zu verstehen, wie du eine javafx Anwendung von Hand bauen kannst. Wenn das klappt, dann kannst du Schritte mit ant ausführen.

Wenn du zu Maven wechseln willst: beschäftige dich mit Maven! Und dann strukturieren dein Projekt so um, dass du dich an die Standards hältst! Ich rate dringend davon ab, das Projektfile an deine Verzeichnise anzupassen, denn ohne Verständnis sind dann die Folgeprobleme vorprogrammiert.

Einführungen in Maven gibt es viele, wie ein Projekt mit JavaFX aussehen könnte siehst du auch im Getting Started... das wäre also ein möglicher Anfang.
 
Also generell kannst du natürlich auch mit ant arbeiten. Da gibst du ja schlicht vor, wie der Compiler aufgerufen wird.

Egal, was du aber machst: du musst verstehen, was du machst! Also wäre es gut, z.B. openjfx.io anzusehen um da die Getting Started durchzugehen um zu verstehen, wie du eine javafx Anwendung von Hand bauen kannst. Wenn das klappt, dann kannst du Schritte mit ant ausführen.

Wenn du zu Maven wechseln willst: beschäftige dich mit Maven! Und dann strukturieren dein Projekt so um, dass du dich an die Standards hältst! Ich rate dringend davon ab, das Projektfile an deine Verzeichnise anzupassen, denn ohne Verständnis sind dann die Folgeprobleme vorprogrammiert.

Einführungen in Maven gibt es viele, wie ein Projekt mit JavaFX aussehen könnte siehst du auch im Getting Started... das wäre also ein möglicher Anfang.
Ich werde mich einlesen!
 
Noch ein paar weitere Punkte, die mir jetzt so durch den Kopf gehen:

a) Schnellstart: Es gibt JDKs, die das JavaFX mit drin haben. Ein Beispiel ist z.B. das OpenJDK Liberica: https://bell-sw.com/pages/downloads/ (Beim Download darauf achten, dass Du ein "Full JDK" auswählst und nicht nur ein "Standard JDK"!) Wenn Du mit diesem JDK arbeitest, dann brauchst Du keinerlei weitere Pfade angeben und Dein Projekt läuft sofort.
==> Möglicherweise eine schnelle und einfache Lösung. Ist nichts, zu dem ich raten würde, aber wenn etwas schnell gehen soll, dann ist das evtl. dennoch nützlich. Nachteil ist halt die Build Abhängigkeit zu so einem JDK! Daher wäre zumindest mittelfristig eine Umstellugn auf Maven oder Gradle aus meiner Sicht sinnvoll.

b) Falls Du Java 8 verwendest (ohne Module und so): Hier sind nicht alle Dinge möglich, die das Getting Started von OpenJFX.io erläutert. Das JLink ist halt erst mit Java 9 gekommen um ein Beispiel zu nennen.

c) Falls Du Abhängigkeiten hast, die noch keine Modul-Definition haben: Hier rennt man leider auch in gewisse Probleme. Dies hatten wir hier im Form schon einmal erläutert und da sind wir dann auch zu einem Maven Projektrahmen gekommen, der sehr gut funktioniert (aber ohne das openjfx Plugin funktioniert). Das nur als HInweis: Mein Hinweis zum Einarbeiten war nicht als "RTFM und Hau ab!" gemeint sondern nur als allgemeiner Hinweis, dass eine Einarbeitung empfohlen ist. Ich habe auf Links und so erst einmal verzichtet, aber generell begleiten wir da sehr gerne. Und nach dem ersten Einarbeiten / Überblick kann es sehr wohl sehr sinnvoll sein, aktiv zu unterstützen.

Ein Vorteil von Maven ist: Man kann sehr viel Funktionalität durch das einfache kopieren kleiner XML Stücke hinzufügen. So man sich an die "Standards" hält, ist oft auch nur minimal etwas anzupassen. Daher: Kurzen Überblick gewinnen und dann können wir hier gerne direkt weiter machen und gemeinsam Dein Projekt umstellen oder so.
 
Noch ein paar weitere Punkte, die mir jetzt so durch den Kopf gehen:

a) Schnellstart: Es gibt JDKs, die das JavaFX mit drin haben. Ein Beispiel ist z.B. das OpenJDK Liberica: https://bell-sw.com/pages/downloads/ (Beim Download darauf achten, dass Du ein "Full JDK" auswählst und nicht nur ein "Standard JDK"!) Wenn Du mit diesem JDK arbeitest, dann brauchst Du keinerlei weitere Pfade angeben und Dein Projekt läuft sofort.
==> Möglicherweise eine schnelle und einfache Lösung. Ist nichts, zu dem ich raten würde, aber wenn etwas schnell gehen soll, dann ist das evtl. dennoch nützlich. Nachteil ist halt die Build Abhängigkeit zu so einem JDK! Daher wäre zumindest mittelfristig eine Umstellugn auf Maven oder Gradle aus meiner Sicht sinnvoll.

b) Falls Du Java 8 verwendest (ohne Module und so): Hier sind nicht alle Dinge möglich, die das Getting Started von OpenJFX.io erläutert. Das JLink ist halt erst mit Java 9 gekommen um ein Beispiel zu nennen.

c) Falls Du Abhängigkeiten hast, die noch keine Modul-Definition haben: Hier rennt man leider auch in gewisse Probleme. Dies hatten wir hier im Form schon einmal erläutert und da sind wir dann auch zu einem Maven Projektrahmen gekommen, der sehr gut funktioniert (aber ohne das openjfx Plugin funktioniert). Das nur als HInweis: Mein Hinweis zum Einarbeiten war nicht als "RTFM und Hau ab!" gemeint sondern nur als allgemeiner Hinweis, dass eine Einarbeitung empfohlen ist. Ich habe auf Links und so erst einmal verzichtet, aber generell begleiten wir da sehr gerne. Und nach dem ersten Einarbeiten / Überblick kann es sehr wohl sehr sinnvoll sein, aktiv zu unterstützen.

Ein Vorteil von Maven ist: Man kann sehr viel Funktionalität durch das einfache kopieren kleiner XML Stücke hinzufügen. So man sich an die "Standards" hält, ist oft auch nur minimal etwas anzupassen. Daher: Kurzen Überblick gewinnen und dann können wir hier gerne direkt weiter machen und gemeinsam Dein Projekt umstellen oder so.
Nun ich steige gerade von NetBean 8 auf 12 um und das erweist sich als nicht gerade einfach. In 8 war FX relativ einfach hinzuzufügen
 

Zurück
Oben