diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index b8624e5..6f0af5c 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -25,10 +25,10 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - - name: Set up JDK 21 + - name: Set up JDK 22 uses: actions/setup-java@v4 with: - java-version: '21' + java-version: '22' distribution: 'temurin' - name: Build with Gradle uses: gradle/actions/setup-gradle@v3 diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..5e984d9 --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +java 22.0.1+8-tem diff --git a/build.gradle b/build.gradle index f20b3f6..ef7ec07 100644 --- a/build.gradle +++ b/build.gradle @@ -11,14 +11,19 @@ version '1.0-SNAPSHOT' repositories { mavenCentral() + // maven { url 'https://oss.sonatype.org/content/groups/public' } + // maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' } + // maven { url 'https://jitpack.io' } + // maven { url 'https://sandec.jfrog.io/artifactory/repo' } } + ext { junitVersion = '5.10.2' } -sourceCompatibility = '21' -targetCompatibility = '21' +sourceCompatibility = '22' +targetCompatibility = '22' tasks.withType(JavaCompile).configureEach { options.encoding = 'UTF-8' @@ -30,14 +35,17 @@ application { } javafx { - version = '21' + version = '22.0.1' modules = ['javafx.controls', 'javafx.fxml'] } dependencies { - testImplementation("org.junit.jupiter:junit-jupiter-api:${junitVersion}") testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:${junitVersion}") + + // implementation('com.tobiasdiez:easybind:2.2.1-SNAPSHOT') { + // exclude group: 'org.openjfx' + // } } test { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd49..e644113 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22c..a441313 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 1aa94a4..b740cf1 100755 --- a/gradlew +++ b/gradlew @@ -55,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index f8238b1..28addb8 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -2,7 +2,6 @@ requires javafx.controls; requires javafx.fxml; - opens org.jabreftest.test.javafxreproducer to javafx.fxml; exports org.jabreftest.test.javafxreproducer; } \ No newline at end of file diff --git a/src/main/java/org/jabreftest/test/javafxreproducer/HelloApplication.java b/src/main/java/org/jabreftest/test/javafxreproducer/HelloApplication.java index d66e4b2..68a9942 100644 --- a/src/main/java/org/jabreftest/test/javafxreproducer/HelloApplication.java +++ b/src/main/java/org/jabreftest/test/javafxreproducer/HelloApplication.java @@ -1,16 +1,23 @@ package org.jabreftest.test.javafxreproducer; +import java.io.IOException; + import javafx.application.Application; +import javafx.beans.property.SimpleStringProperty; import javafx.scene.Node; -import javafx.scene.control.*; +import javafx.scene.control.Button; +import javafx.scene.control.ButtonType; +import javafx.scene.control.Dialog; +import javafx.scene.control.DialogPane; +import javafx.scene.control.TextField; +import javafx.scene.control.TitledPane; import javafx.scene.layout.FlowPane; import javafx.scene.layout.Region; import javafx.scene.layout.VBox; import javafx.stage.Stage; -import java.io.IOException; - public class HelloApplication extends Application { + @Override public void start(Stage stage) throws IOException { Dialog alert = new Dialog<>(); @@ -55,7 +62,11 @@ public void start(Stage stage) throws IOException { createTitledPane("Custom", false, 200.0, 200.0)); TextField textField = new TextField(); + textField.setPromptText("Type something and then press Ctrl+Z."); vbox.getChildren().add(textField); + SimpleStringProperty textProperty = new SimpleStringProperty(); + textProperty.addListener((_, _, newValue) -> textField.textProperty().set(newValue)); + textField.textProperty().addListener((_, _, newValue) -> textProperty.set(newValue)); dlgPane.setContent(vbox);