Bis Sie Hello World of JavaFX mit VSCode + Gradle ausführen

Einführung

Notieren Sie sich, wie JavaFX "vorerst" mit VSCode + Gradle ausgeführt wird. Es wurde gemacht, indem die Weisheit unserer Vorgänger überall kopiert wurde. Vielen Dank an alle unsere Vorfahren.

0. Umwelt

Die verwendeten Tools und Ausführungsumgebungen sind wie folgt.

Da wir uns auf den Titelteil konzentrieren, werden wir auch die Installation einzelner Werkzeuge weglassen.

1. Erstellen Sie ein Projekt mit Gradle

Erstellen Sie ein Projektverzeichnis und führen Sie gradle init aus (vorausgesetzt, Sie haben den Pfad zum Befehl gradle). Sie können es vervollständigen, indem Sie die Optionen wie folgt beantworten.

ximia@thinkpad:~/dev/sandbox02$ gradle init

Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Swift
Enter selection (default: Java) [1..5] 3

Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Groovy) [1..2] 1

Select test framework:
  1: JUnit 4 VSCode
  2: TestNG
  3: Spock
  4: JUnit Jupiter
Enter selection (default: JUnit 4) [1..4] 1

Project name (default: sandbox02): 
Source package (default: sandbox02): me.osa2.java.sandbox02

> Task :init
Get more help with your project: https://docs.gradle.org/6.1.1/userguide/tutorial_java_projects.html

BUILD SUCCESSFUL in 42s
2 actionable tasks: 2 executed
ximia@thinkpad:~/dev/sandbox02$ 

2. Fügen Sie task.json mit VS Code hinzu

Fügen Sie das oben erstellte Verzeichnis sandbox02 zum VS Code-Arbeitsbereich hinzu und führen Sie dann die Standarderstellung aus. VS Code, der nicht weiß, was zu tun ist, fordert mich jedoch auf, eine Konfiguration zu erstellen (siehe Abbildung unten). Klicken Sie in der Mitte des Bildschirms auf "Build-Aufgabe konfigurieren ..." (Wenn Sie VS-Code ins Japanische übersetzen, übersetzen Sie ihn bitte in Ihrem Gehirn).

Screenshot at 2020-02-16 18-51-30.png

Wählen Sie Andere aus den Optionen. Dann wird die Datei task.json, die nur Hallo anzeigt, im Ordner .vscode des Projekts erstellt. Kopieren Sie das Folgende und fügen Sie es dort vollständig ein.

{
    "version": "1.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "./gradlew build"
        },
        {
            "label": "run",
            "type": "shell",
            "command": "./gradlew run",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "clean",
            "type": "shell",
            "command": "./gradlew clean"
        },
        {
            "label": "check",
            "type": "shell",
            "command": "./gradlew check"
        },
        {
            "label": "create-jar",
            "type": "shell",
            "command": "./gradlew jar"
        }
    ]
}

Wählen Sie nach dem Speichern Terminal> Run Buld Task ... aus dem VS Code-Menü. Der Build wird langsam auf dem Shell-Bildschirm unten ausgeführt und "Hello World" in der Konsolen-App, die Gradle zum Zeitpunkt der Init vorbereitet hat, wird angezeigt. Wenn Sie sich task.json ansehen, können Sie sehen, dass Gradle Run die Standardeinstellung für Build-Tasks ist.

3. Ersetzen Sie durch JavaFX-Code

Es ist sehr grob, aber in VSCode überschreiben Sie src / main / java / (Paketpfad) /App.java vollständig mit dem folgenden Code und benennen Sie die Datei in HelloWorld.java um. Außerdem verursacht das Testgerüst unter src / test ebenfalls einen Fehler (da ich den Testcode hier nicht schreibe). Löschen Sie ihn daher.

package your.package.path;
 
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
 
public class HelloWorld extends Application {
    public static void main(String[] args) {
        launch(args);
    }
    
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World!");
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {
 
            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });
        
        StackPane root = new StackPane();
        root.getChildren().add(btn);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}

Darüber hinaus wurde dieser Code von der folgenden Seite von Oracle in der Welt ausgeliehen. https://docs.oracle.com/javafx/2/get_started/hello_world.htm

4. Übergeben Sie den Klassenpfad für VSCode bzw. Gradle

Ersetzen Sie zuerst build.gradle wie folgt vollständig und speichern Sie es. Bitte schreiben Sie den mainClassName nach Ihren Wünschen um. Wenn Sie bis zu diesem Punkt erstellen (Gradle Run), wird die JavaFX-App gestartet. Das Bild der App ist am Ende.

/*
 * This file was generated by the Gradle 'init' task.
 *
 * This generated file contains a sample Java project to get you started.
 * For more details take a look at the Java Quickstart chapter in the Gradle
 * User Manual available at https://docs.gradle.org/6.1.1/userguide/tutorial_java_projects.html
 */

plugins {
    id 'java'
    id 'application'
    id 'eclipse' // for auto-completion enabled .classpath.
    id 'org.openjfx.javafxplugin' version '0.0.8'
}

repositories {
    jcenter()
}

javafx {
    version = "11"
    modules = [ 'javafx.controls']
}

dependencies {
    // This dependency is used by the application.
    implementation 'com.google.guava:guava:28.1-jre'

    // Use JUnit test framework
    testImplementation 'junit:junit:4.12'

    // Making Runnable Jar
    implementation "com.github.jengelman.gradle.plugins:shadow:5.1.0"
}

mainClassName = 'me.osa2.java.sandbox02.HelloWorld'

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

jar {
        manifest {
        attributes ('Main-Class': mainClassName, "Implementation-Title": "Gradle",
                "Implementation-Version": 1)
    }
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    from configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}

Erstellen Sie als Nächstes eine Datei launch.json im Ordner .vscode (dem Ordner, in dem task.json zuvor erstellt wurde) und fügen Sie Folgendes als Inhalt ein. Bitte schreiben Sie den Namen der Hauptklasse, den Paketnamen und den Pfad der openjfx-Bibliothek nach Ihren Wünschen neu. Wenn Sie VSCode neu starten, sollte die rote Wellenunterstreichung des Bezeichners, der in der Quelle nicht erkennbar war, verschwinden.

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "java",
            "name": "Debug (Launch) - Current File",
            "request": "launch",
            "mainClass": "${file}"
        },
        {
            "type": "java",
            "name": "Debug (Launch)-HelloWorld<sandbox02>",
            "request": "launch",
            "mainClass": "me.osa2.java.sandbox02.HelloWOrld",
            "projectName": "hello",
            "vmArgs": "--module-path /home/ximia/libs/javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.fxml"
        }
    ]
}

5. Schlussfolgerung

Es ist eine Sammlung anderer Qiita-Artikel und nur "Marutto Copipe". app.png Ist es gut für Leute, die nach dem Umzug über Dinge nachdenken wollen? Ich hoffe du gewöhnst dich daran! : grinsend:

== END ==

Recommended Posts

Bis Sie Hello World of JavaFX mit VSCode + Gradle ausführen
Hallo Welt mit VS Code!
Erstellen Sie mit Gradle mit VSCode Java → Ausführen
Bis Sie Gradle installieren und "Hello World" ausgeben
Hallo Welt mit SpringBoot / Gradle
Bis "Hallo Welt" mit Spring Boot
Hallo Welt mit Kotlin und JavaFX
Java-Entwicklung mit Codenvy: Hello World! Run
Hallo Welt auf Mac VSCode Java
(IntelliJ + gradle) Hallo Welt mit Spring Boot
Hallo Welt mit JavaFX 11 (OpenJFX) von Liberica JDK 11
Führen Sie JSP Hello World mit Tomcat auf Docker aus
Bis Sie den Apache Velocity-Beispielcode ausführen
Versuchen Sie, Hallo Welt mit Frühling + Gradle anzuzeigen
Profilbasierte Automatisierung der Code-Artefakt-Authentifizierung mit Gradle
Lombok mit VS Code
Erstellen Sie eine Ruby-Debug-Umgebung mit VS Code von Windows 10
Das Verfahren, das ich durchgeführt habe, als ich die Umgebung für gradle + Java mit VS Code (Windows 10) vorbereitet habe
Erstellen Sie Restapi mit Spring Boot (bis zum Ausführen der App)
Hallo Welt mit Micronaut
Hallo Welt mit Spring Boot
Docker-Management mit VS-Code
Hallo Welt mit Spring Boot!
Formatieren Sie Ruby mit VS-Code
Java Hallo Welt, kompilieren, ausführen
Hallo Welt mit Spring Boot
Hallo Welt, mit Asakusa Framework!
Zusammenfassung der Verfahren zum Entwickeln in einem Docker-Container mit VS-Code
Probieren Sie HelloWorld mit der Mindestkonfiguration von Heroku Java Spring-Boot aus
Spring Boot Programmierung mit VS Code
Hallo Welt mit Docker und C Sprache
Erstellen Sie Java mit Mac vs Code
(Intellij) Hallo Welt mit Spring Boot
Hallo Welt mit GlassFish 5.1 + Servlet + JSP
Erstellen Sie PDF mit itext7 ~ HelloWorld ~
Erste Schritte mit Docker mit VS-Code
"Hallo Welt" für ImageJ mit Eclipse
Hallo Welt mit GWT 2.8.2 und Maven
Hallo Welt in Java und Gradle
Spring5 MVC-Webanwendungsentwicklung mit Visual Studio-Code Hello World Creation
Spring Boot2-Webanwendungsentwicklung mit Visual Studio Code Hello World-Erstellung
Versuchen Sie, "Hello, World" mit einer Kombination aus verschiedenen Sprachen und Bibliotheken zu schreiben