mirror of
https://github.com/2OOP/pism.git
synced 2026-02-04 10:54:51 +00:00
Merge remote-tracking branch 'origin/UI' into UI
# Conflicts: # .idea/misc.xml
This commit is contained in:
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -13,7 +13,7 @@
|
|||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_24" project-jdk-name="openjdk-25" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_25" default="true" project-jdk-name="openjdk-25" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/out" />
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -8,12 +8,19 @@ import javafx.application.Application;
|
|||||||
import javafx.scene.layout.StackPane;
|
import javafx.scene.layout.StackPane;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.stage.Stage;
|
import javafx.stage.Stage;
|
||||||
|
import org.toop.local.AppContext;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
public class App extends Application {
|
public class App extends Application {
|
||||||
private static Stage stage;
|
private static Stage stage;
|
||||||
private static Scene scene;
|
private static Scene scene;
|
||||||
private static StackPane root;
|
private static StackPane root;
|
||||||
|
|
||||||
|
private Locale currentLocale = AppContext.getLocale();
|
||||||
|
private ResourceBundle resourceBundle = ResourceBundle.getBundle("Localization", currentLocale);
|
||||||
|
|
||||||
public static void run(String[] args) {
|
public static void run(String[] args) {
|
||||||
launch(args);
|
launch(args);
|
||||||
}
|
}
|
||||||
@@ -23,7 +30,7 @@ public class App extends Application {
|
|||||||
final StackPane root = new StackPane(new MainMenu().getPane());
|
final StackPane root = new StackPane(new MainMenu().getPane());
|
||||||
final Scene scene = new Scene(root);
|
final Scene scene = new Scene(root);
|
||||||
|
|
||||||
stage.setTitle("pism");
|
stage.setTitle(resourceBundle.getString("windowTitle"));
|
||||||
stage.setMinWidth(1080);
|
stage.setMinWidth(1080);
|
||||||
stage.setMinHeight(720);
|
stage.setMinHeight(720);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
package org.toop.app.menu;
|
package org.toop.app.menu;
|
||||||
|
|
||||||
|
import org.toop.local.AppContext;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
public final class CreditsMenu extends Menu {
|
public final class CreditsMenu extends Menu {
|
||||||
public CreditsMenu() {
|
private Locale currentLocale = AppContext.getLocale();
|
||||||
|
private ResourceBundle resourceBundle = ResourceBundle.getBundle("Localization", currentLocale);
|
||||||
|
public CreditsMenu() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4,24 +4,31 @@ import javafx.geometry.Pos;
|
|||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.image.ImageView;
|
import javafx.scene.image.ImageView;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
|
import org.toop.local.AppContext;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
import org.toop.framework.asset.AssetManager;
|
import org.toop.framework.asset.AssetManager;
|
||||||
import org.toop.framework.asset.resources.CssAsset;
|
import org.toop.framework.asset.resources.CssAsset;
|
||||||
import org.toop.framework.asset.resources.ImageAsset;
|
import org.toop.framework.asset.resources.ImageAsset;
|
||||||
|
|
||||||
public final class MainMenu extends Menu {
|
public final class MainMenu extends Menu {
|
||||||
public MainMenu() {
|
private Locale currentLocale = AppContext.getLocale();
|
||||||
final Button tictactoe = createButton("Tic Tac Toe", () -> {});
|
private ResourceBundle resourceBundle = ResourceBundle.getBundle("Localization", currentLocale);
|
||||||
final Button reversi = createButton("Reversi", () -> {});
|
|
||||||
final Button sudoku = createButton("Sudoku", () -> {});
|
public MainMenu() {
|
||||||
final Button battleship = createButton("Battleship", () -> {});
|
final Button tictactoe = createButton(resourceBundle.getString("mainMenuSelectTicTacToe"), () -> {});
|
||||||
final Button other = createButton("Other", () -> {});
|
final Button reversi = createButton(resourceBundle.getString("mainMenuSelectReversi"), () -> {});
|
||||||
|
final Button sudoku = createButton(resourceBundle.getString("mainMenuSelectSudoku"), () -> {});
|
||||||
|
final Button battleship = createButton(resourceBundle.getString("mainMenuSelectBattleship"), () -> {});
|
||||||
|
final Button other = createButton(resourceBundle.getString("mainMenuSelectOther"), () -> {});
|
||||||
|
|
||||||
final VBox gamesBox = new VBox(tictactoe, reversi, sudoku, battleship, other);
|
final VBox gamesBox = new VBox(tictactoe, reversi, sudoku, battleship, other);
|
||||||
gamesBox.setAlignment(Pos.TOP_CENTER);
|
gamesBox.setAlignment(Pos.TOP_CENTER);
|
||||||
|
|
||||||
final Button credits = createButton("Credits", () -> {});
|
final Button credits = createButton(resourceBundle.getString("mainMenuSelectCredits"), () -> {});
|
||||||
final Button options = createButton("Options", () -> {});
|
final Button options = createButton(resourceBundle.getString("mainMenuSelectOptions"), () -> {});
|
||||||
final Button quit = createButton("Quit", () -> {});
|
final Button quit = createButton(resourceBundle.getString("mainMenuSelectQuit"), () -> {});
|
||||||
|
|
||||||
final VBox creditsBox = new VBox(credits, options, quit);
|
final VBox creditsBox = new VBox(credits, options, quit);
|
||||||
creditsBox.setAlignment(Pos.BOTTOM_CENTER);
|
creditsBox.setAlignment(Pos.BOTTOM_CENTER);
|
||||||
|
|||||||
@@ -6,10 +6,16 @@ import javafx.animation.FadeTransition;
|
|||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.util.Duration;
|
import javafx.util.Duration;
|
||||||
|
import org.toop.local.AppContext;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
public abstract class Menu {
|
public abstract class Menu {
|
||||||
protected Pane pane;
|
protected Pane pane;
|
||||||
public Pane getPane() { return pane; }
|
public Pane getPane() { return pane; }
|
||||||
|
private Locale currentLocale = AppContext.getLocale();
|
||||||
|
private ResourceBundle resourceBundle = ResourceBundle.getBundle("Localization", currentLocale);
|
||||||
|
|
||||||
public void fadeBackgroundImage(String imagePath, float from, float to, float milliseconds) {
|
public void fadeBackgroundImage(String imagePath, float from, float to, float milliseconds) {
|
||||||
final FadeTransition fade = new FadeTransition(Duration.millis(milliseconds), App.getRoot());
|
final FadeTransition fade = new FadeTransition(Duration.millis(milliseconds), App.getRoot());
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
package org.toop.app.menu;
|
package org.toop.app.menu;
|
||||||
|
|
||||||
|
import org.toop.local.AppContext;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
public final class OptionsMenu extends Menu {
|
public final class OptionsMenu extends Menu {
|
||||||
public OptionsMenu() {
|
private Locale currentLocale = AppContext.getLocale();
|
||||||
|
private ResourceBundle resourceBundle = ResourceBundle.getBundle("Localization", currentLocale);
|
||||||
|
public OptionsMenu() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10,23 +10,29 @@ import javafx.scene.text.Text;
|
|||||||
import org.toop.app.App;
|
import org.toop.app.App;
|
||||||
import org.toop.framework.asset.AssetManager;
|
import org.toop.framework.asset.AssetManager;
|
||||||
import org.toop.framework.asset.resources.CssAsset;
|
import org.toop.framework.asset.resources.CssAsset;
|
||||||
|
import org.toop.local.AppContext;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
public final class QuitMenu extends Menu {
|
public final class QuitMenu extends Menu {
|
||||||
public QuitMenu() {
|
private Locale currentLocale = AppContext.getLocale();
|
||||||
|
private ResourceBundle resourceBundle = ResourceBundle.getBundle("Localization", currentLocale);
|
||||||
|
public QuitMenu() {
|
||||||
final Region background = new Region();
|
final Region background = new Region();
|
||||||
background.getStyleClass().add("quit-background");
|
background.getStyleClass().add("quit-background");
|
||||||
background.setPrefSize(Double.MAX_VALUE, Double.MAX_VALUE);
|
background.setPrefSize(Double.MAX_VALUE, Double.MAX_VALUE);
|
||||||
|
|
||||||
final Text sure = new Text("Are you sure?");
|
final Text sure = new Text(resourceBundle.getString("quitMenuTextSure"));
|
||||||
sure.getStyleClass().add("quit-text");
|
sure.getStyleClass().add("quit-text");
|
||||||
|
|
||||||
final Button yes = new Button("Yes");
|
final Button yes = new Button(resourceBundle.getString("quitMenuButtonYes"));
|
||||||
yes.getStyleClass().add("quit-button");
|
yes.getStyleClass().add("quit-button");
|
||||||
yes.setOnAction(_ -> {
|
yes.setOnAction(_ -> {
|
||||||
App.quit();
|
App.quit();
|
||||||
});
|
});
|
||||||
|
|
||||||
final Button no = new Button("No");
|
final Button no = new Button(resourceBundle.getString("quitMenuButtonNo"));
|
||||||
no.getStyleClass().add("quit-button");
|
no.getStyleClass().add("quit-button");
|
||||||
no.setOnAction(_ -> {
|
no.setOnAction(_ -> {
|
||||||
App.pop();
|
App.pop();
|
||||||
|
|||||||
14
app/src/main/java/org/toop/local/AppContext.java
Normal file
14
app/src/main/java/org/toop/local/AppContext.java
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package org.toop.local;
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
public class AppContext {
|
||||||
|
private static Locale currentLocale = Locale.getDefault();
|
||||||
|
|
||||||
|
public static void setCurrentLocale(Locale locale) {
|
||||||
|
currentLocale = locale;
|
||||||
|
}
|
||||||
|
public static Locale getLocale() {
|
||||||
|
return currentLocale;
|
||||||
|
}
|
||||||
|
}
|
||||||
17
app/src/main/resources/Localization.properties
Normal file
17
app/src/main/resources/Localization.properties
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Window title
|
||||||
|
windowTitle=ISY Games Selector
|
||||||
|
|
||||||
|
# Main Menu buttons
|
||||||
|
mainMenuSelectTicTacToe=Tic Tac Toe
|
||||||
|
mainMenuSelectReversi=Reversi
|
||||||
|
mainMenuSelectSudoku=Sudoku
|
||||||
|
mainMenuSelectBattleship=Battleship
|
||||||
|
mainMenuSelectOther=Other
|
||||||
|
mainMenuSelectCredits=Credits
|
||||||
|
mainMenuSelectOptions=Options
|
||||||
|
mainMenuSelectQuit=Quit
|
||||||
|
|
||||||
|
# Quit Menu text and buttons
|
||||||
|
quitMenuTextSure=Are you sure?
|
||||||
|
quitMenuButtonYes=Yes
|
||||||
|
quitMenuButtonNo=No
|
||||||
17
app/src/main/resources/Localization_nl.properties
Normal file
17
app/src/main/resources/Localization_nl.properties
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# Window title
|
||||||
|
windowTitle=ISY Spellen Kiezer
|
||||||
|
|
||||||
|
# Main Menu buttons
|
||||||
|
mainMenuSelectTicTacToe=Boter Kaas En Eieren
|
||||||
|
mainMenuSelectReversi=Reversi
|
||||||
|
mainMenuSelectSudoku=Sudoku
|
||||||
|
mainMenuSelectBattleship=Zeeslag
|
||||||
|
mainMenuSelectOther=Anders
|
||||||
|
mainMenuSelectCredits=Credits
|
||||||
|
mainMenuSelectOptions=Opties
|
||||||
|
mainMenuSelectQuit=Afsluiten
|
||||||
|
|
||||||
|
# Quit Menu text and buttons
|
||||||
|
quitMenuTextSure=Weet je het zeker?
|
||||||
|
quitMenuButtonYes=Ja
|
||||||
|
quitMenuButtonNo=Nee
|
||||||
Reference in New Issue
Block a user