Demo of FXLauncher custom UI: bootstrap your JavaFX to automatic update it to the latest version
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore
LICENSE
README.md
pom.xml

README.md

Custom FXLauncher Update UI

Original repo is here.

This example project shows you how you can customize the look and feel of the FXLauncher user interface.

It is recommended that you create a separate project for the custom UI to make it easier to embed it into the fxlauncher.jar. Basically you implement UIProvider and add the META-INF/services/fxlauncher.UIProvider file, pointing to your implementation. See the documentation of UIProvider on the previous link.

To embed custom UI, include a step in your app project where you basically embed all the class files from the ui project into the fxlauncher.jar:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.4.0</version>
            <executions>
                <!-- Here you already have executions for 
                "create-manifest" and "embed-manifest-in-launcher" --> 
                <execution>
                    <id>embed-custom-ui-in-launcher</id>
                    <phase>package</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <configuration>
                        <executable>jar</executable>
                        <workingDirectory>${app.dir}</workingDirectory>
                        <arguments>
                            <argument>uf</argument>
                            <argument>fxlauncher.jar</argument>
                            <argument>-C</argument>
                            <argument>${project.basedir}/../fxlauncher-custom-ui/target/classes</argument>
                            <argument>.</argument>
                        </arguments>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>