Netbeans und javafx

Juelin

Bekanntes Mitglied
Hallo,
mein Name ist Jürgen, ich bin 74 Jahre alt und Rentner aus Mannheim.
Ich lerne gerade Java mit dem Buch "Java programmieren lernen für Einsteiger" von Michael Bonacina.
Ich habe Windows 10, Java jdk-21 und Apache-NetBeans-21-bin-windows-x64 installiert.
In Netbeans habe ich "Java with Maven", "Java with Grandle" und "Java with Ant". (siehe Anhang bild1 bis bild3)
Frage: Was ist der Unterschied zwischen den drei Arten und welche nimmt man normaler weise?
Nun bin ich im Kapitel 12 javafx.
Wenn ich nun ein neues Projekt anlegen will und wähle "Java with Ant" und "JavaFX" (bild4)
kommt (bild5).
Wenn ich dann, wie vorgeschlagen eine neue Plattform anlegen will kommt (bild6 und bild7).
Keine Ahnung was ich machen muß?
Muss man irgend was downloaden und wenn ja von welcher URL?
Kann mir da jemand helfen?
Bitte mit genauer Beschreibung.
Danke für die Hilfe und Gruß
Jürgen
 

Anhänge

  • bild1.jpg
    bild1.jpg
    197,1 KB · Aufrufe: 0
  • bild2.jpg
    bild2.jpg
    160,3 KB · Aufrufe: 0
  • bild3.jpg
    bild3.jpg
    201,1 KB · Aufrufe: 0
  • bild4.jpg
    bild4.jpg
    185,5 KB · Aufrufe: 0
  • bild5.jpg
    bild5.jpg
    187,6 KB · Aufrufe: 0
  • bild6.jpg
    bild6.jpg
    149 KB · Aufrufe: 0
  • bild7.jpg
    bild7.jpg
    87,6 KB · Aufrufe: 0

KonradN

Super-Moderator
Mitarbeiter
Gehen wir die Punkte einmal der Reihe nach durch:

1. Herzlich willkommen im Forum und schön, dass Du zu uns ins Forum gefunden hast. Ich wünsche Dir viel Spaß und viele Erfolge mit Java und JavaFX.

2. Maven, Gradle und Ant
Bei den drei Dingen handelt es sich um sogenannte Build Tools. Ant ist das älteste und von dem würde ich Dir abraten, da es viele Features schlicht nicht hat wie z.B. das automatische Laden von Abhängigkeiten (Dafür gibt es dann aber noch ergänzende Tools, aber das macht alles direkt komplizierter)

Maven und Gradle sind die Build Tools, die derzeit im Java Bereich den Markt beherrschen. Dabei ist Maven etwas älter und hat den großen Vorteil, dass hier alles in einem sauber definierten XML Konstukt abgelegt wird. Bei Gradle hat man statt dessen eine Scriptsprache, in der das Projekt beschrieben wird, was es extrem leistungsfähig macht aber aus meiner Sicht einfach auch zu kompliziert macht.

Mein Ratschlag wäre daher ganz klar: Greif zu Maven. Das bietet Dir den schnellsten Einstieg.

3. JavaFX SDK
Du hast die Probleme gehabt, da Du Ant gewählt hattest. Damit wurden keine Abhängigkeiten automatisch geladen. Statt dessen wird von Dir erwartet, ein JavaFX SDK zu installieren und dann die Details der Installation einzutragen.
==> Nutze bitte Maven, dann solltest Du das Problem nicht mehr haben.

Ich kenne Dein Buch nicht. Evtl. sind - wen Du Maven wählst - nicht mehr alle Dinge 1:1 anwendbar. Das sind aber alles Dinge auf Projekt-Verwaltungs-Ebene und betrifft nicht den Java Code selbst. Daher sollte es unkritisch sein und du dürftest hier im Forum die Unterstützung finden, die Du brauchst.

Maven ist besonders gut, da das ganze Projekt in einem einzigen Text-File beschrieben ist. Daher ist es einfach, dieses z.B. im Forum weiter zu geben. Probleme im Bereich der Projektverwaltung sind somit über das Forum sehr einfach und schnell behebbar.

Probiere also einmal die Maven Projekte aus und wenn Du in Probleme rennen solltest: Melde Dich einfach direkt wieder.
 

Juelin

Bekanntes Mitglied
Hallo KonradN,
danke für Deine sehr ausführliche Antwort. Du hast Dir wirklich Mühe gegeben.
Gerne verwende ich Maven.
Problem ist nur, da ist kein JavaFX drin (siehe Anlage Bild1).
Wie krieg ich da JavaFX rein?
Danke nochmal und Gruß
Jürgen
 

KonradN

Super-Moderator
Mitarbeiter
Hallo Jürgen,

auf dem Foto sehe ich auch ein "Simple JavaFX Maven Archetype". Wenn Du das auswählst, dann solltest Du auch JavaFX als Abhängigkeiten mit drin haben.

Aber das kann man auch einfach in die pom.xml eintragen bzw. kopieren. Ich habe derzeit ein GitHub Template, in dem alles drin ist, was aus meiner Sicht wichtig ist. Das kann aber ganz am Anfang etwas zu viel sein.

Wenn Du ein einfaches Maven Projekt erstellst, dann kannst Du die pom.xml austauschen. Eine stark bereinigte Version für den Anfang wäre:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <!-- Diesen Block anpassen -->
    <groupId>de.kneitzel</groupId>
    <artifactId>javafxapp</artifactId>
    <version>1.0-SNAPSHOT</version>
    <organization>
        <name>Java Forum</name>
    </organization>


    <!--In diesem Block solltest Du auch Werte anpassen ... -->
    <properties>
        <!-- Application Properties -->
        <link.name>${project.artifactId}</link.name>
        <launcher>${project.artifactId}</launcher>
        <appName>${project.artifactId}</appName>
        <main.class>de.kneitzel.Main</main.class>
        <java.version>17</java.version>
        <jar.filename>${project.artifactId}-${project.version}</jar.filename>

        <!-- Dependency versions -->
        <javafx.version>19.0.2.1</javafx.version>

        <!-- Plugin dependencies -->
        <javafx.maven.plugin>0.0.8</javafx.maven.plugin>

        <!-- other properties -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
        <maven.compiler.release>${java.version}</maven.compiler.release>

    </properties>

    <dependencies>
        <!-- JavaFX dependencies -->
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-swing</artifactId>
            <version>${javafx.version}</version>
        </dependency>

    </dependencies>

    <build>
        <finalName>${jar.filename}</finalName>
        <plugins>
            <!-- JavaFX Plugin to start application -->
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>${javafx.maven.plugin}</version>
                <configuration>
                    <mainClass>${main.class}</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Da sind einige JavaFX Abhängigkeiten drin und das javafx plugin.

Wenn Du das Maven Ziel javafx:run startest, dann sollte die Anwendung laufen.
 

KonradN

Super-Moderator
Mitarbeiter
Was neben dem Projekt fehlt, ist dann noch die eigentliche JavaFX Anwendung. Die schaust Du Dir aber dann wirklich am Besten auf GitHub an:
kneitzel/JavaFXMavenApp: Simple JavaFX App with Maven (github.com)

Die eigentliche Application ist eine Klasse, die von Application erbt:
JavaFXMavenApp/src/main/java/de/kneitzel/JavaFXApp.java at main · kneitzel/JavaFXMavenApp (github.com)
Dort findet sich dann Code, der das Hauptfenster aus einer fxml Datei lädt. Diese fxml kannst Du per SceneBuilder (von Gluon) editieren:
Scene Builder - Gluon (gluonhq.com)

Zu dem fxml gehört dann auch ein Controller. Das ist ggf. schon etwas viel auf einmal, aber Du kannst diese Klasse auch mit dem Code aus dem Buch ersetzen.

Ein wichtiger Hinweis bezüglich der Main Klasse:
Java:
package de.kneitzel;

/**
 * Another Main class as workaround when the JavaFX Application ist started without
 * taking care os Classloader Requirements of JavaFX. (Important when starting from inside NetBeans!)
 */
public class Main {
    /**
     * Additional main methode to start Application.
     * @param args Commandline Arguments.
     */
    public static void main(String[] args) {
        JavaFXApp.main(args);
    }
}
Das ist ein Workaround. Die JavaFX Runtime hat gewisse Probleme, wenn diese nicht ganz genau so geladen wird, wie sie es möchte und dann bekommt man eine Fehlermeldung, dass JavaFX fehlen würde. Das Problem kann man lösen, in dem man eine main Methode startet, die in einer Klasse ist, die nichts mit JavaFX zu tun hat. Das einfach nur als kleiner Hinweis - das kann Dir helfen, wenn Du die Anwendung über die IDE starten willst und Du eben so eine Fehlermeldung bekommst.
 

Juelin

Bekanntes Mitglied
Hallo KonradN,
Danke, Du warst mir eine große Hilfe.
Das mit dem simple JavaFX Maven hat funktioniert.
Nochmals Danke für die Hilfe.
So Leute wie Du sind halt einfach Klasse.
Danke und Gruß
Jürgen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin Netbeans mit JavaFX, FXML und Scenebuilder Java Basics - Anfänger-Themen 11
Juelin Netbeans Anwendungsfilename Java Basics - Anfänger-Themen 1
P Netbeans installation geht nicht Java Basics - Anfänger-Themen 26
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I GUI über Eclipse oder NetBeans Java Basics - Anfänger-Themen 23
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
K Netbeans Deployment - lib in einziges jar integrieren Java Basics - Anfänger-Themen 2
M Erste Schritte NetBeans Fehlermeldung Java Basics - Anfänger-Themen 2
MiMa Klassen in Projekte wiederverwenden ?? (Netbeans IDE) Java Basics - Anfänger-Themen 8
Bluedaishi Netbeans Problem Java Basics - Anfänger-Themen 12
J Projekt nicht editierbar modifizieren (NetBeans 8) Java Basics - Anfänger-Themen 10
T Netbeans und Eclipse Probiere programmiere probiere Java Basics - Anfänger-Themen 2
M Netbeans Projekt lauffähig abspeichern Java Basics - Anfänger-Themen 3
M In Netbeans Programm so abspeichern dass es funktioniert Java Basics - Anfänger-Themen 8
W Fehler in der Entwicklungsumgebung NetBeans Java Basics - Anfänger-Themen 14
C Erste Schritte (Netbeans) no main classes found Java Basics - Anfänger-Themen 5
K Erste Schritte Netbeans Programm läuft nicht Java Basics - Anfänger-Themen 23
J Libraries in Netbeans Java Basics - Anfänger-Themen 5
G Java mit NetBeans Java Basics - Anfänger-Themen 5
B Netbeans Java Version 8.0.2 und Yosemite Java Basics - Anfänger-Themen 1
S Konsole Lanterna in NetBeans einbinden Java Basics - Anfänger-Themen 5
S Template Choosing "Primeface" in Netbeans 8.0.2 Java Basics - Anfänger-Themen 0
F Text anhand bestimmter Trennzeichen in Textteile trennen (netbeans) Java Basics - Anfänger-Themen 7
Lord.Djerun (Netbeans) Bei TimeUnit.Seconds,Sleep() hängt sich das komplette Programm auf.. Java Basics - Anfänger-Themen 8
Lord.Djerun (Taschenrechner Netbeans) Komma nur einmal schreiben & 0 ersetzen Java Basics - Anfänger-Themen 1
P Problem mit Netbeans Java Basics - Anfänger-Themen 8
T Java Netbeans Grobrasterfilter Java Basics - Anfänger-Themen 0
K Seltsames Ergebnis in Netbeans bei einfacher Multiplikation Java Basics - Anfänger-Themen 5
F APP außerhalb von Netbeans starten Java Basics - Anfänger-Themen 2
D netbeans 7.3 fxapplication Java Basics - Anfänger-Themen 2
-horn- While Ausgabe Netbeans Java Basics - Anfänger-Themen 3
T NetBeans - Int in Textfield Java Basics - Anfänger-Themen 11
L NetBeans Applet in html Java Basics - Anfänger-Themen 4
H [JAVA] NetBeans GUI Builder - Events Java Basics - Anfänger-Themen 10
M NetBeans Code Java Basics - Anfänger-Themen 12
T Classpath Klassen einbinden netbeans Java Basics - Anfänger-Themen 5
M Netbeans streicht Methodenbezeichner durch Java Basics - Anfänger-Themen 2
S ButtonKlick mit JFrame (Netbeans) fragen.. Java Basics - Anfänger-Themen 8
A Netbeans /Gamegrid hilfe!? Java Basics - Anfänger-Themen 17
T jTable - netbeans Java Basics - Anfänger-Themen 2
C jTable Netbeans Java Basics - Anfänger-Themen 3
M Netbeans ausführbare Jar erzeugen Java Basics - Anfänger-Themen 4
P Netbeans Platform - JLabel und JPanel setLocation Problem Java Basics - Anfänger-Themen 2
H NEtBeans: Fehler: XXX has private access... Java Basics - Anfänger-Themen 2
M In Netbeans kein Problem, im Terminal schon Java Basics - Anfänger-Themen 3
P Java Datei ohne Netbeans ausführen Java Basics - Anfänger-Themen 7
G NetBeans Contains files with errors Java Basics - Anfänger-Themen 14
F NetBeans Clear and Build löscht Dateien? Java Basics - Anfänger-Themen 5
M Netbeans Listener - Anonymous, inner class, main class? Java Basics - Anfänger-Themen 4
I Netbeans - jTabbedPane Hintergrundfarbe ändern Java Basics - Anfänger-Themen 13
J Argumenten eingabe Netbeans Java Basics - Anfänger-Themen 5
R Netbeans hängt sich beim profilen auf Java Basics - Anfänger-Themen 4
O Build in Netbeans Java Basics - Anfänger-Themen 12
U Input/Output FileNotFoundException in Netbeans, in Eclipse nicht Java Basics - Anfänger-Themen 5
F Probleme nach dem Wechsel von Eclipse zu NetBeans Java Basics - Anfänger-Themen 15
S Erste Schritte HelloWorld in NetBeans Java Basics - Anfänger-Themen 8
B assert befehl in netbeans Java Basics - Anfänger-Themen 3
D Libarie und Javadoc in Netbeans einbinden? Java Basics - Anfänger-Themen 6
B Netbeans SQL Stmt Escapen Java Java Basics - Anfänger-Themen 9
MisterSeven Netbeans - Dropdown Menü erstellen? Java Basics - Anfänger-Themen 4
J Netbeans + JApplet-Form Java Basics - Anfänger-Themen 5
E Netbeans, "class does not have a main method" Java Basics - Anfänger-Themen 8
D Selbstprogrammierte Datein in Netbeans nutzen? Java Basics - Anfänger-Themen 2
J NetBeans-Projekt zu Datei? Java Basics - Anfänger-Themen 2
Hindi93 Netbeans Datei exportieren Java Basics - Anfänger-Themen 7
N NetBeans Projekt im Terminal starten Java Basics - Anfänger-Themen 2
C Netbeans will Plugin mangelns JDK nicht installieren ? Java Basics - Anfänger-Themen 2
N netbeans schaltfläche mit code belegen ? Java Basics - Anfänger-Themen 7
T Netbeans: Import von Externen Packet Java Basics - Anfänger-Themen 5
S Netbeans instalieren Java Basics - Anfänger-Themen 2
B Zeilenweises ausführen in NetBeans Java Basics - Anfänger-Themen 2
P Datentypen HTML Dokument speichern (Netbeans) Java Basics - Anfänger-Themen 10
N Anordnug der Komponenten mit NetBeans Java Basics - Anfänger-Themen 9
J Wie kann ich Netbeans in Eclipse integrieren? Java Basics - Anfänger-Themen 7
S Unterschiede Netbeans und .jar Java Basics - Anfänger-Themen 4
S NetBeans Project erstellen Java Basics - Anfänger-Themen 17
M netbeans exe Java Basics - Anfänger-Themen 5
S Programm erstellen (mit netbeans) Java Basics - Anfänger-Themen 15
B JAR Datei mit NetBeans erstellen und ausführen Java Basics - Anfänger-Themen 23
O Mit Netbeans .jar erstellen Java Basics - Anfänger-Themen 2
Spin GUI Builder in Netbeans Java Basics - Anfänger-Themen 3
C setResizable(false) unter NetBeans Java Basics - Anfänger-Themen 3
M netbeans GUI builder Java Basics - Anfänger-Themen 2
S Wo speichere ich Bilder für Applets (Netbeans) Java Basics - Anfänger-Themen 5
T MySQL-Dienst starten und stoppen aus Netbeans Java Basics - Anfänger-Themen 3
M package in Netbeans IDE Java Basics - Anfänger-Themen 3
D Eclipse und NetBeans Java Basics - Anfänger-Themen 3
J Programm läuft in Netbeans, aber nicht in der Konsole Java Basics - Anfänger-Themen 6
H Multiple JFrames im GUI Editor von NetBeans Java Basics - Anfänger-Themen 2
V Merkwürdiges Problem mit Netbeans und implements Java Basics - Anfänger-Themen 10
M Benutzer löschen mittels Netbeans Java Basics - Anfänger-Themen 4
M Klassendiagramm in Netbeans Java Basics - Anfänger-Themen 7
B Grafiken/Bilder mit Netbeans in Jdialog Java Basics - Anfänger-Themen 7
C Ein Handy Spiel programmieren mit Netbeans Java Basics - Anfänger-Themen 1
L wo muß die Jar stehen, Netbeans, Compile Java Basics - Anfänger-Themen 3
R Java Problem (mit NetBeans) - html gibt nur java logo aus Java Basics - Anfänger-Themen 7
G Netbeans: Klasse wird bei Run der Main Klasse nicht gefunden Java Basics - Anfänger-Themen 2
Spin Objekte in Netbeans Java Basics - Anfänger-Themen 6
T Netbeans 'Currency Converter' / DataInputStream readInt() Java Basics - Anfänger-Themen 2
B Netbeans Keypressed Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben