diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java index 9839572bf1a22e044122015888721876ae2eca76..7bb395b249decad3606844c2b06cd34cb282deb6 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/CommunityMapController.java @@ -1,9 +1,14 @@ package de.hdm_stuttgart.battlearena.Controller; +import javafx.beans.property.SimpleStringProperty; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.geometry.Rectangle2D; +import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.layout.VBox; import javafx.stage.Screen; @@ -14,7 +19,9 @@ public class CommunityMapController implements Initializable { @FXML private VBox parent; @FXML - private TableView tableView; + private TableView<DataItem> tableView; + @FXML + private TableColumn<DataItem, String> name; Rectangle2D screen = Screen.getPrimary().getVisualBounds(); @@ -27,6 +34,15 @@ public class CommunityMapController implements Initializable { private void setTableView() { tableView.setMinHeight(screen.getHeight() * 0.69); tableView.setMinWidth(screen.getWidth() * 0.66); + + name.setCellValueFactory(new PropertyValueFactory<>("name")); + ObservableList<DataItem> data = FXCollections.observableArrayList( + new DataItem("Item A"), + new DataItem("Item B"), + new DataItem("Item C") + ); + + tableView.setItems(data); } // TODO: create map preview @@ -35,4 +51,21 @@ public class CommunityMapController implements Initializable { parent.getChildren().clear(); parent.getChildren().add(new SceneLoader().loadScene("MapForge")); } + +// test values TODO: replace with db + public static class DataItem { + private final SimpleStringProperty name; + + public DataItem(String name) { + this.name = new SimpleStringProperty(name); + } + + public String getName() { + return name.get(); + } + + public SimpleStringProperty nameProperty() { + return name; + } + } } diff --git a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java index 2a5e5ea215a8beea0fc81467b22c28f2f1efa3c7..4ad05ff354db90787e71646921746a0411f11565 100644 --- a/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java +++ b/src/main/java/de/hdm_stuttgart/battlearena/Controller/MenuBorderPaneController.java @@ -43,7 +43,7 @@ public class MenuBorderPaneController implements Initializable { imgRight.setPreserveRatio(true); imgLeft.setFitWidth(imageWidth); imgLeft.setPreserveRatio(true); - backgroundMusic("cocBackgroundMusicTest.mp3"); +// backgroundMusic("cocBackgroundMusicTest.mp3"); easterEgg(); System.out.println(windows.getDpi()); } diff --git a/src/main/resources/fxml/CommunityMaps.fxml b/src/main/resources/fxml/CommunityMaps.fxml index 688fdfeb48886e94de7668ac0f015652cf6863b9..d1fcad13d17d45f663362527f4144f1a8c626ae9 100644 --- a/src/main/resources/fxml/CommunityMaps.fxml +++ b/src/main/resources/fxml/CommunityMaps.fxml @@ -7,12 +7,12 @@ <?import javafx.scene.layout.VBox?> -<VBox fx:id="parent" alignment="CENTER" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.CommunityMapController"> +<VBox fx:id="parent" alignment="CENTER" prefHeight="400.0" prefWidth="600.0" stylesheets="@../styles/style.css" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.hdm_stuttgart.battlearena.Controller.CommunityMapController"> <children> <TableView fx:id="tableView" editable="true" maxHeight="1.7976931348623157E308" maxWidth="1.7976931348623157E308" minHeight="-Infinity" minWidth="-Infinity" VBox.vgrow="ALWAYS"> <columns> <TableColumn editable="false" prefWidth="75.0" text="ID" /> - <TableColumn editable="false" prefWidth="75.0" text="Name" /> + <TableColumn fx:id="name" editable="false" prefWidth="75.0" text="Name" /> <TableColumn editable="false" prefWidth="75.0" text="Width" /> <TableColumn editable="false" prefWidth="75.0" text="Height" /> <TableColumn editable="false" prefWidth="75.0" text="Downloads" /> diff --git a/src/main/resources/styles/style.css b/src/main/resources/styles/style.css index d884c66e861884069e4baffa75c6361fe0d75548..b66dc39809bc14237d0d4a55b10861b6e98baa07 100644 --- a/src/main/resources/styles/style.css +++ b/src/main/resources/styles/style.css @@ -9,8 +9,8 @@ .root { -fx-font-family: "Starship Shadow"; - -fx-text-fill: -fx-brown; - -fx-background-color: black; + -fx-text-fill: white; + -fx-background-color: #d1853f; } #mainMenu{ @@ -50,7 +50,6 @@ -fx-border-width: 0; } - .scroll-pane > .viewport { -fx-background-color: none; } @@ -114,7 +113,7 @@ } .slider .track { - -fx-background-color: rgba(0, 0, 0, 0.5); + -fx-background-color: rgba(0, 0, 0, 0.5); -fx-pref-height: 0.2em; } @@ -133,4 +132,27 @@ -fx-background-color: rgba(255, 255, 255, 0.3); } -/* TODO: set tableView style*/ \ No newline at end of file +.table-view { + -fx-background-color: transparent; +} + +.table-view .column-header { + -fx-background-color: -fx-brown; +} + +.table-view .table-cell{ + -fx-font-size: 30; + -fx-alignment: center; +} + +.table-row-cell { + -fx-background-color: rgba(0, 0, 0, 0.2); +} + +.table-row-cell:hover { + -fx-background-color: rgba(0, 0, 0, 0.1); +} + +.table-row-cell:selected { + -fx-background-color: rgba(255, 255, 255, 0.3); +} \ No newline at end of file diff --git a/src/main/resources/textures/images/background.png b/src/main/resources/textures/images/background.png index 82ece511aaf6c026cc003746b6d96ad21a459c1f..cfecaea36ac9953b10720b8cee301e0501b75064 100644 Binary files a/src/main/resources/textures/images/background.png and b/src/main/resources/textures/images/background.png differ