Added launcher base javafx code.
This commit is contained in:
parent
55628434a9
commit
c2958e403b
|
@ -0,0 +1,4 @@
|
||||||
|
# AoS2 Launcher
|
||||||
|
The launcher is a standalone application that can be installed on a client's computer, to make starting the client program easier. Since the client boots up and directly connects to a server via command-line arguments, everything before that is managed by the launcher, like finding a server, choosing a nickname, etc.
|
||||||
|
|
||||||
|
This is a JavaFX application.
|
|
@ -0,0 +1,53 @@
|
||||||
|
<?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>
|
||||||
|
|
||||||
|
<groupId>nl.andrewl</groupId>
|
||||||
|
<artifactId>aos2-launcher</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>18</maven.compiler.source>
|
||||||
|
<maven.compiler.target>18</maven.compiler.target>
|
||||||
|
<javafx.version>18.0.1</javafx.version>
|
||||||
|
<javafx.maven.plugin.version>0.0.8</javafx.maven.plugin.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.openjfx</groupId>
|
||||||
|
<artifactId>javafx-controls</artifactId>
|
||||||
|
<version>${javafx.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.openjfx</groupId>
|
||||||
|
<artifactId>javafx-fxml</artifactId>
|
||||||
|
<version>${javafx.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.openjfx</groupId>
|
||||||
|
<artifactId>javafx-maven-plugin</artifactId>
|
||||||
|
<version>${javafx.maven.plugin.version}</version>
|
||||||
|
<configuration>
|
||||||
|
<mainClass>nl.andrewl.aos2_launcher.Launcher</mainClass>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>3.10.1</version>
|
||||||
|
<configuration>
|
||||||
|
<source>17</source>
|
||||||
|
<target>17</target>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,9 @@
|
||||||
|
module aos2_launcher {
|
||||||
|
requires javafx.base;
|
||||||
|
requires javafx.controls;
|
||||||
|
requires javafx.graphics;
|
||||||
|
requires javafx.fxml;
|
||||||
|
|
||||||
|
exports nl.andrewl.aos2_launcher to javafx.graphics;
|
||||||
|
opens nl.andrewl.aos2_launcher to javafx.fxml;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package nl.andrewl.aos2_launcher;
|
||||||
|
|
||||||
|
import javafx.application.Application;
|
||||||
|
import javafx.fxml.FXMLLoader;
|
||||||
|
import javafx.scene.Parent;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The main starting point for the launcher app.
|
||||||
|
*/
|
||||||
|
public class Launcher extends Application {
|
||||||
|
@Override
|
||||||
|
public void start(Stage stage) throws IOException {
|
||||||
|
FXMLLoader loader = new FXMLLoader(Launcher.class.getResource("/main_view.fxml"));
|
||||||
|
Parent rootNode = loader.load();
|
||||||
|
Scene scene = new Scene(rootNode);
|
||||||
|
scene.getStylesheets().add(Launcher.class.getResource("/styles.css").toExternalForm());
|
||||||
|
stage.setScene(scene);
|
||||||
|
stage.setTitle("Ace of Shades 2 - Launcher");
|
||||||
|
stage.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
launch(args);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
package nl.andrewl.aos2_launcher;
|
||||||
|
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.layout.TilePane;
|
||||||
|
|
||||||
|
public class MainViewController {
|
||||||
|
@FXML
|
||||||
|
public TilePane profilesTilePane;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.*?>
|
||||||
|
<?import javafx.scene.layout.*?>
|
||||||
|
|
||||||
|
<VBox xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/16"
|
||||||
|
maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0"
|
||||||
|
fx:controller="nl.andrewl.aos2_launcher.MainViewController"
|
||||||
|
>
|
||||||
|
<MenuBar>
|
||||||
|
<Menu mnemonicParsing="false" text="File">
|
||||||
|
<MenuItem mnemonicParsing="false" text="Exit"/>
|
||||||
|
</Menu>
|
||||||
|
<Menu mnemonicParsing="false" text="Profiles">
|
||||||
|
<MenuItem mnemonicParsing="false" text="New Profile"/>
|
||||||
|
</Menu>
|
||||||
|
<Menu mnemonicParsing="false" text="Help">
|
||||||
|
<MenuItem mnemonicParsing="false" text="About"/>
|
||||||
|
</Menu>
|
||||||
|
</MenuBar>
|
||||||
|
<ScrollPane VBox.vgrow="ALWAYS">
|
||||||
|
<TilePane fx:id="profilesTilePane"/>
|
||||||
|
</ScrollPane>
|
||||||
|
</VBox>
|
Loading…
Reference in New Issue