Added GameSchedule View

when open tournament GameSchedule.fxml gets loaded
This commit is contained in:
Andrin Fassbind 2022-05-01 20:26:33 +02:00
parent 90fa3a9183
commit 0db169a771
10 changed files with 287 additions and 8 deletions

View File

@ -46,6 +46,14 @@ public class Factory {
setCenterOfBorderPane(pane, getClass().getResource("participantAddFormular/participantFormular.fxml"), factoryDecorator);
}
public void loadPlacesFormular(BorderPane pane, FactoryDecorator factoryDecorator) {
setCenterOfBorderPane(pane, getClass().getResource("placesAddFormular/PlacesFormular.fxml"), factoryDecorator);
}
public void loadGameScheduler(BorderPane pane, FactoryDecorator factoryDecorator) {
setCenterOfBorderPane(pane, getClass().getResource("gameScheduleView/GameSchedule.fxml"), factoryDecorator);
}
private FXController setCenterOfBorderPane(BorderPane pane, URL location, FactoryDecorator factoryDecorator) {
FXController controller = null;
try {

View File

@ -44,7 +44,7 @@ public class FactoryDecorator implements IsObservable{
public void openTournament(FileIO.TournamentFile tournamentFile){
try {
factory.setTournament(fileIO.loadTournament(tournamentFile));
factory.loadParticipantFormular((BorderPane) pane, this); //TODO load TournamentView instead of ParticipantFormular?
factory.loadGameScheduler((BorderPane) pane, this);
informListener();
} catch (IOException e) {
e.printStackTrace();
@ -53,6 +53,13 @@ public class FactoryDecorator implements IsObservable{
} //TODO handle and logging
}
public void openParticipantFormular() {
factory.loadParticipantFormular((BorderPane) pane, this);
}
public void openPlacesFormular() {
factory.loadPlacesFormular((BorderPane) pane, this);
}
public void informListener() {
for(IsObserver observer : listener) {

View File

@ -107,7 +107,7 @@ public class FileIO {
ObjectOutputStream out = null;
try {
newSave.createNewFile();
boolean newFile = newSave.createNewFile();
out = new ObjectOutputStream(new FileOutputStream(newSave));
out.writeObject(tournament);
System.out.println("Save File" + tournament.getName() + ".txt being saved to " + saves.getAbsolutePath());

View File

@ -0,0 +1,16 @@
package ch.zhaw.projekt2.turnierverwaltung.main.gameScheduleView;
import ch.zhaw.projekt2.turnierverwaltung.FXController;
import javafx.fxml.FXML;
import javafx.scene.control.ChoiceBox;
public class GameController extends FXController {
@FXML
private ChoiceBox<?> placesChoiceBox;
@Override
public void loadContent() {
}
}

View File

@ -0,0 +1,24 @@
package ch.zhaw.projekt2.turnierverwaltung.main.gameScheduleView;
import ch.zhaw.projekt2.turnierverwaltung.FXController;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
public class GameScheduleController extends FXController {
@FXML
void openPlacesFormular(ActionEvent event) {
getFactoryDecorator().openPlacesFormular();
}
@FXML
void openParticipantFormular(ActionEvent event) {
getFactoryDecorator().openParticipantFormular();
}
@Override
public void loadContent() {
}
}

View File

@ -0,0 +1,66 @@
package ch.zhaw.projekt2.turnierverwaltung.main.placesAddFormular;
import ch.zhaw.projekt2.turnierverwaltung.FXController;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.GridPane;
public class PlacesFormularController extends FXController {
@FXML
private Label AddListTitle;
@FXML
private Button closeBtn;
@FXML
private Button deleteBtn;
@FXML
private GridPane grid;
@FXML
private ListView<?> locationListView;
@FXML
private Label locationNameLabel;
@FXML
private TextField locationNameTextField;
@FXML
private Label newLocationFormularTitle;
@FXML
private Button saveBtn;
@FXML
void changedSelection(MouseEvent event) {
}
@FXML
void closeFormular(ActionEvent event) {
}
@FXML
void deleteSelectedPlace(ActionEvent event) {
}
@FXML
void saveLocation(ActionEvent event) {
}
@Override
public void loadContent() {
}
}

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.ChoiceBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<VBox alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="150.0" prefWidth="200.0" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="GameContoller">
<children>
<Label fx:id="teamNameOne" text="Team One" />
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Label text="Points">
<HBox.margin>
<Insets right="20.0" />
</HBox.margin>
</Label>
<TextField fx:id="pointsTeamOne" prefHeight="25.0" prefWidth="50.0" />
</children>
</HBox>
<Label fx:id="teamNameTwo" text="Team Two" />
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Label text="Points">
<HBox.margin>
<Insets right="20.0" />
</HBox.margin>
</Label>
<TextField fx:id="pointsTeamTwo" prefHeight="25.0" prefWidth="50.0" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<Label text="Ort">
<HBox.margin>
<Insets right="20.0" />
</HBox.margin>
</Label>
<ChoiceBox fx:id="placesChoiceBox" prefWidth="150.0" />
</children>
</HBox>
</children>
</VBox>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.projekt2.turnierverwaltung.main.gameScheduleView.GameScheduleController">
<top>
<HBox alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<children>
<Button mnemonicParsing="false" onAction="#openParticipantFormular" text="Teilnehmer bearbeiten">
<HBox.margin>
<Insets right="20.0" />
</HBox.margin>
</Button>
<Button mnemonicParsing="false" onAction="#openPlacesFormular" text="Orte bearbeiten">
<HBox.margin>
<Insets right="40.0" />
</HBox.margin>
</Button>
</children>
</HBox>
</top>
</BorderPane>

View File

@ -4,12 +4,8 @@
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
@ -17,7 +13,7 @@
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<HBox alignment="CENTER" VBox.vgrow="ALWAYS" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.projekt2.turnierverwaltung.main.participantAddFormular.ParticipantFormularController">
<HBox alignment="CENTER" VBox.vgrow="ALWAYS" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/17" fx:controller="ch.zhaw.projekt2.turnierverwaltung.main.participantAddFormular.ParticipantFormularController">
<children>
<VBox alignment="TOP_CENTER" prefHeight="331.0" prefWidth="308.0" HBox.hgrow="ALWAYS">
<children>
@ -36,7 +32,7 @@
</ListView>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
<children>
<Button fx:id="saveBtn" mnemonicParsing="false" onAction="#save" text="Save">
<Button fx:id="saveBtn" mnemonicParsing="false" onAction="#save" text="Speichern">
<HBox.margin>
<Insets right="40.0" />
</HBox.margin>

View File

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<HBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="404.0" prefWidth="635.0" xmlns="http://javafx.com/javafx/17" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.projekt2.turnierverwaltung.main.placesAddFormular.PlacesFormularController">
<children>
<VBox alignment="TOP_CENTER" prefHeight="331.0" prefWidth="308.0">
<children>
<Label fx:id="AddListTitle" text="Hinzugefügt">
<font>
<Font name="System Bold" size="21.0" />
</font>
<VBox.margin>
<Insets bottom="20.0" />
</VBox.margin>
</Label>
<ListView fx:id="locationListView" onMouseClicked="#changedSelection" prefHeight="200.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
<VBox.margin>
<Insets left="10.0" right="10.0" />
</VBox.margin>
<opaqueInsets>
<Insets />
</opaqueInsets>
</ListView>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
<children>
<Button fx:id="closeBtn" mnemonicParsing="false" onAction="#closeFormular" text="Schliessen">
<HBox.margin>
<Insets right="40.0" />
</HBox.margin>
</Button>
<Button fx:id="deleteBtn" mnemonicParsing="false" onAction="#deleteSelectedPlace" text="Löschen" />
</children>
</HBox>
</children>
</VBox>
<Separator orientation="VERTICAL" prefHeight="200.0" />
<VBox alignment="TOP_CENTER" prefHeight="331.0" prefWidth="308.0">
<children>
<Label fx:id="newLocationFormularTitle" text="Austragungsort bearbeiten/erstellen">
<font>
<Font name="System Bold" size="21.0" />
</font>
<VBox.margin>
<Insets bottom="40.0" />
</VBox.margin>
</Label>
<Separator prefWidth="200.0" />
<GridPane fx:id="grid" prefHeight="200.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label fx:id="locationNameLabel" styleClass="lableGrid" text="Austragungsort">
<GridPane.margin>
<Insets />
</GridPane.margin>
</Label>
<TextField fx:id="locationNameTextField" styleClass="inputGrid" GridPane.columnIndex="1">
<GridPane.margin>
<Insets />
</GridPane.margin>
</TextField>
</children>
</GridPane>
<Separator prefWidth="200.0" />
<Button fx:id="saveBtn" alignment="TOP_LEFT" mnemonicParsing="false" onAction="#saveLocation" text="Speichern" VBox.vgrow="ALWAYS">
<VBox.margin>
<Insets bottom="10.0" top="30.0" />
</VBox.margin>
</Button>
</children>
</VBox>
</children>
</HBox>