UI now uses assetmanager
@@ -4,28 +4,39 @@ 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.framework.asset.AssetManager;
|
||||||
|
import org.toop.framework.asset.resources.CssAsset;
|
||||||
|
import org.toop.framework.asset.resources.ImageAsset;
|
||||||
|
|
||||||
public final class MainMenu extends Menu {
|
public final class MainMenu extends Menu {
|
||||||
public MainMenu() {
|
public MainMenu() {
|
||||||
final ImageView background = new ImageView();
|
|
||||||
|
|
||||||
final Button tictactoe = createButton("Tic Tac Toe", () -> {});
|
final Button tictactoe = createButton("Tic Tac Toe", () -> {});
|
||||||
final Button reversi = createButton("Reversi", () -> {});
|
final Button reversi = createButton("Reversi", () -> {});
|
||||||
final Button sudoku = createButton("Sudoku", () -> {});
|
final Button sudoku = createButton("Sudoku", () -> {});
|
||||||
final Button battleship = createButton("Battleship", () -> {});
|
final Button battleship = createButton("Battleship", () -> {});
|
||||||
final Button other = createButton("Other", () -> {});
|
final Button other = createButton("Other", () -> {});
|
||||||
|
|
||||||
final VBox gamesBox = new VBox(tictactoe, reversi, sudoku, background, 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("Credits", () -> {});
|
||||||
final Button options = createButton("Options", () -> {});
|
final Button options = createButton("Options", () -> {});
|
||||||
final Button quit = createButton("Quit", () -> {});
|
final Button quit = createButton("Quit", () -> {});
|
||||||
|
|
||||||
final VBox creditsBox = new VBox(10, credits, options, quit);
|
final VBox creditsBox = new VBox(credits, options, quit);
|
||||||
creditsBox.setAlignment(Pos.BOTTOM_CENTER);
|
creditsBox.setAlignment(Pos.BOTTOM_CENTER);
|
||||||
|
|
||||||
//pane = new StackPane(background, grid);
|
VBox grid = new VBox(20, gamesBox, creditsBox);
|
||||||
pane.getStylesheets().add(getClass().getResource("/style/main.css").toExternalForm());
|
grid.setAlignment(Pos.CENTER);
|
||||||
|
|
||||||
|
ImageAsset backgroundImage = (ImageAsset) AssetManager.getByName("background.jpg").getResource();
|
||||||
|
ImageView background = new ImageView(backgroundImage.getImage());
|
||||||
|
background.setPreserveRatio(false);
|
||||||
|
background.fitWidthProperty().bind(grid.widthProperty());
|
||||||
|
background.fitHeightProperty().bind(grid.heightProperty());
|
||||||
|
|
||||||
|
pane = new StackPane(background, grid);
|
||||||
|
CssAsset css = (CssAsset) AssetManager.getByName("main.css").getResource();
|
||||||
|
pane.getStylesheets().add(css.getUrl());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,8 @@ import javafx.scene.layout.StackPane;
|
|||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
import javafx.scene.text.Text;
|
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.resources.CssAsset;
|
||||||
|
|
||||||
public final class QuitMenu extends Menu {
|
public final class QuitMenu extends Menu {
|
||||||
public QuitMenu() {
|
public QuitMenu() {
|
||||||
@@ -43,6 +45,7 @@ public final class QuitMenu extends Menu {
|
|||||||
StackPane.setAlignment(box, Pos.CENTER);
|
StackPane.setAlignment(box, Pos.CENTER);
|
||||||
|
|
||||||
pane = modalContainer;
|
pane = modalContainer;
|
||||||
pane.getStylesheets().add(getClass().getResource("/style/quit.css").toExternalForm());
|
CssAsset css = (CssAsset) AssetManager.getByName("quit.css").getResource();
|
||||||
|
pane.getStylesheets().add(css.getUrl());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 15 MiB After Width: | Height: | Size: 15 MiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
@@ -0,0 +1,17 @@
|
|||||||
|
package org.toop.framework.asset.resources;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
@FileExtension({"css"})
|
||||||
|
public class CssAsset extends BaseResource {
|
||||||
|
private final String url;
|
||||||
|
|
||||||
|
public CssAsset(File file) {
|
||||||
|
super(file);
|
||||||
|
this.url = file.toURI().toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
}
|
||||||