created Class Factory and refactoring of MainWindow.java
This commit is contained in:
parent
ca5b52541f
commit
9c7d62b260
|
@ -0,0 +1,63 @@
|
||||||
|
package ch.zhaw.projekt2.turnierverwaltung;
|
||||||
|
|
||||||
|
import javafx.fxml.FXMLLoader;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.layout.Border;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.Pane;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
public class Factory {
|
||||||
|
private Tournament tournament;
|
||||||
|
|
||||||
|
|
||||||
|
public Factory(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Tournament getTournament() {
|
||||||
|
return tournament;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTournament(Tournament tournament) {
|
||||||
|
this.tournament = tournament;
|
||||||
|
}
|
||||||
|
|
||||||
|
public BorderPane loadMainWindow(){
|
||||||
|
FXMLLoader loader = new FXMLLoader(getClass().getResource("mainWindow.fxml"));
|
||||||
|
try {
|
||||||
|
return loader.load();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
//TODO handle and logging
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void loadTournamentList(BorderPane pane){
|
||||||
|
setCenterOfBorderPane(pane, getClass().getResource("tournamentList/tournamentList.fxml"));
|
||||||
|
}
|
||||||
|
|
||||||
|
//Can be used to Open new Scene in same Stage.
|
||||||
|
//This way possible to later give object to Controller
|
||||||
|
public void loadParticipantFormular(BorderPane pane) {
|
||||||
|
setCenterOfBorderPane(pane, getClass().getResource("participantAddFormular/participantFormular.fxml"));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setCenterOfBorderPane(BorderPane pane, URL location) {
|
||||||
|
try {
|
||||||
|
FXMLLoader loader = new FXMLLoader(location);
|
||||||
|
pane.setCenter(loader.load());
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
//TODO handle and logging?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -1,5 +1,6 @@
|
||||||
package ch.zhaw.projekt2.turnierverwaltung.main;
|
package ch.zhaw.projekt2.turnierverwaltung.main;
|
||||||
|
|
||||||
|
import ch.zhaw.projekt2.turnierverwaltung.Factory;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.fxml.FXMLLoader;
|
import javafx.fxml.FXMLLoader;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -11,36 +12,21 @@ import java.awt.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class MainWindow extends Application {
|
public class MainWindow extends Application {
|
||||||
|
private Factory factory = new Factory(); //TODO make it private!
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(Stage primaryStage) throws Exception {
|
public void start(Stage primaryStage) throws Exception {
|
||||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("mainWindow.fxml"));
|
BorderPane pane = factory.loadMainWindow();
|
||||||
BorderPane pane = loader.load();
|
factory.loadTournamentList(pane);
|
||||||
|
|
||||||
//test add center pane
|
|
||||||
loader = new FXMLLoader(getClass().getResource("tournamentList/tournamentList.fxml"));
|
|
||||||
pane.setCenter(loader.load());
|
|
||||||
|
|
||||||
Scene scene = new Scene(pane);
|
Scene scene = new Scene(pane);
|
||||||
primaryStage.setScene(scene);
|
primaryStage.setScene(scene);
|
||||||
primaryStage.setMaximized(true);
|
primaryStage.setMaximized(true);
|
||||||
primaryStage.setResizable(false);
|
primaryStage.setResizable(false);
|
||||||
|
primaryStage.setFullScreen(false);
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Can be used to Open new Scene in same Stage.
|
|
||||||
//This way possible to later give object to Controller
|
|
||||||
public void startParticipand(Stage stage) {
|
|
||||||
FXMLLoader loader = new FXMLLoader(getClass().getResource("participandAddFormular/participandFormular.fxml"));
|
|
||||||
try {
|
|
||||||
Pane pane = loader.load();
|
|
||||||
Scene scene = new Scene(pane);
|
|
||||||
stage.setScene(scene);
|
|
||||||
stage.setFullScreen(true);
|
|
||||||
stage.setResizable(false);
|
|
||||||
stage.show();
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package ch.zhaw.projekt2.turnierverwaltung.main.participandAddFormular;
|
package ch.zhaw.projekt2.turnierverwaltung.main.participantAddFormular;
|
||||||
|
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
|
@ -1,5 +1,6 @@
|
||||||
package ch.zhaw.projekt2.turnierverwaltung.main.tournamentList;
|
package ch.zhaw.projekt2.turnierverwaltung.main.tournamentList;
|
||||||
|
|
||||||
|
import ch.zhaw.projekt2.turnierverwaltung.main.MainWindow;
|
||||||
import javafx.event.ActionEvent;
|
import javafx.event.ActionEvent;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
|
@ -43,7 +44,7 @@ public class tournamentListController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@FXML
|
@FXML
|
||||||
void openTournier(ActionEvent event) {
|
void openTournament(ActionEvent event) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
<?import javafx.scene.control.Label?>
|
|
||||||
<?import javafx.scene.control.Menu?>
|
|
||||||
<?import javafx.scene.control.MenuBar?>
|
|
||||||
<?import javafx.scene.control.MenuItem?>
|
|
||||||
<?import javafx.scene.layout.BorderPane?>
|
|
||||||
<?import javafx.scene.layout.VBox?>
|
|
||||||
<?import javafx.scene.text.Font?>
|
|
||||||
|
|
||||||
<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.MainWindowController">
|
|
||||||
<top>
|
|
||||||
<VBox alignment="TOP_CENTER" prefHeight="86.0" prefWidth="600.0" BorderPane.alignment="CENTER">
|
|
||||||
<children>
|
|
||||||
<MenuBar>
|
|
||||||
<menus>
|
|
||||||
<Menu mnemonicParsing="false" text="Start">
|
|
||||||
<items>
|
|
||||||
<Menu mnemonicParsing="false" text="Sprache">
|
|
||||||
<items>
|
|
||||||
<MenuItem mnemonicParsing="false" onAction="#changeLangToGerman" text="Deutsch" />
|
|
||||||
</items>
|
|
||||||
</Menu>
|
|
||||||
<MenuItem mnemonicParsing="false" onAction="#closeApplication" text="Close" />
|
|
||||||
</items>
|
|
||||||
</Menu>
|
|
||||||
</menus>
|
|
||||||
</MenuBar>
|
|
||||||
<Label text="Turnier Manager">
|
|
||||||
<font>
|
|
||||||
<Font name="System Bold" size="40.0" />
|
|
||||||
</font>
|
|
||||||
</Label>
|
|
||||||
</children>
|
|
||||||
</VBox>
|
|
||||||
</top>
|
|
||||||
</BorderPane>
|
|
|
@ -1,10 +0,0 @@
|
||||||
#mainContainer {
|
|
||||||
-fx-min-height: 100%;
|
|
||||||
-fx-min-width: 100%;
|
|
||||||
-fx-background-color: #f8f8f8;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Formular Right Side
|
|
||||||
*/
|
|
|
@ -1,114 +0,0 @@
|
||||||
<?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.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?>
|
|
||||||
<?import javafx.scene.layout.RowConstraints?>
|
|
||||||
<?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.participandAddFormular.participantFormularController">
|
|
||||||
<children>
|
|
||||||
<VBox alignment="TOP_CENTER" prefHeight="331.0" prefWidth="308.0" HBox.hgrow="ALWAYS">
|
|
||||||
<children>
|
|
||||||
<Label fx:id="participantListTitle" text="Hinzugefügt">
|
|
||||||
<font>
|
|
||||||
<Font name="System Bold" size="21.0" />
|
|
||||||
</font>
|
|
||||||
<VBox.margin>
|
|
||||||
<Insets bottom="20.0" />
|
|
||||||
</VBox.margin>
|
|
||||||
</Label>
|
|
||||||
<ListView fx:id="participantListView" prefHeight="200.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
|
|
||||||
<VBox.margin>
|
|
||||||
<Insets />
|
|
||||||
</VBox.margin>
|
|
||||||
</ListView>
|
|
||||||
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" VBox.vgrow="ALWAYS">
|
|
||||||
<children>
|
|
||||||
<Button fx:id="saveBtn" mnemonicParsing="false" onAction="#save" text="Save">
|
|
||||||
<HBox.margin>
|
|
||||||
<Insets right="40.0" />
|
|
||||||
</HBox.margin>
|
|
||||||
</Button>
|
|
||||||
<Button fx:id="openBtn" mnemonicParsing="false" text="Bearbeiten" />
|
|
||||||
</children>
|
|
||||||
</HBox>
|
|
||||||
</children>
|
|
||||||
<HBox.margin>
|
|
||||||
<Insets left="40.0" />
|
|
||||||
</HBox.margin>
|
|
||||||
</VBox>
|
|
||||||
<Separator orientation="VERTICAL" prefHeight="200.0">
|
|
||||||
<HBox.margin>
|
|
||||||
<Insets left="10.0" right="10.0" />
|
|
||||||
</HBox.margin>
|
|
||||||
</Separator>
|
|
||||||
<VBox fx:id="changeBtn" alignment="TOP_CENTER" onDragDetected="#changeParticipant" prefHeight="331.0" prefWidth="308.0" HBox.hgrow="ALWAYS">
|
|
||||||
<children>
|
|
||||||
<Label fx:id="newParticipantFormularTitle" text="Neuer Teilnehmer">
|
|
||||||
<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 minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
|
||||||
</rowConstraints>
|
|
||||||
<children>
|
|
||||||
<Label fx:id="participantNameLabel" styleClass="lableGrid" text="Name">
|
|
||||||
<GridPane.margin>
|
|
||||||
<Insets />
|
|
||||||
</GridPane.margin>
|
|
||||||
</Label>
|
|
||||||
<TextField fx:id="participantNameTextField" styleClass="inputGrid" GridPane.columnIndex="1">
|
|
||||||
<GridPane.margin>
|
|
||||||
<Insets />
|
|
||||||
</GridPane.margin>
|
|
||||||
</TextField>
|
|
||||||
<Label fx:id="firstNameLabel" styleClass="lableGrid" text="Vorname" GridPane.rowIndex="1">
|
|
||||||
<GridPane.margin>
|
|
||||||
<Insets />
|
|
||||||
</GridPane.margin>
|
|
||||||
</Label>
|
|
||||||
<TextField fx:id="firstNameTextField" GridPane.columnIndex="1" GridPane.rowIndex="1" />
|
|
||||||
<TextField fx:id="phoneNumberTextField" GridPane.columnIndex="1" GridPane.rowIndex="2" />
|
|
||||||
<TextField fx:id="birthDateTextField" GridPane.columnIndex="1" GridPane.rowIndex="3" />
|
|
||||||
<Label fx:id="phoneNumberLabel" text="Telefonnummer" GridPane.rowIndex="2" />
|
|
||||||
<Label fx:id="birthDateLabel" text="Geb. Datum" GridPane.rowIndex="3" />
|
|
||||||
</children>
|
|
||||||
</GridPane>
|
|
||||||
<Separator prefWidth="200.0" />
|
|
||||||
<Button fx:id="addBtn" alignment="TOP_LEFT" mnemonicParsing="false" onAction="#addParticipant" text="Erstellen" VBox.vgrow="ALWAYS">
|
|
||||||
<VBox.margin>
|
|
||||||
<Insets bottom="10.0" top="30.0" />
|
|
||||||
</VBox.margin>
|
|
||||||
</Button>
|
|
||||||
</children>
|
|
||||||
<HBox.margin>
|
|
||||||
<Insets right="40.0" />
|
|
||||||
</HBox.margin>
|
|
||||||
</VBox>
|
|
||||||
</children>
|
|
||||||
</HBox>
|
|
|
@ -17,7 +17,7 @@
|
||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.text.Font?>
|
<?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.participandAddFormular.participantFormularController">
|
<HBox alignment="CENTER" VBox.vgrow="ALWAYS" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.projekt2.turnierverwaltung.main.participantAddFormular.participantFormularController">
|
||||||
<children>
|
<children>
|
||||||
<VBox alignment="TOP_CENTER" prefHeight="331.0" prefWidth="308.0" HBox.hgrow="ALWAYS">
|
<VBox alignment="TOP_CENTER" prefHeight="331.0" prefWidth="308.0" HBox.hgrow="ALWAYS">
|
||||||
<children>
|
<children>
|
|
@ -31,7 +31,7 @@
|
||||||
<Insets />
|
<Insets />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
||||||
</ListView>
|
</ListView>
|
||||||
<Button fx:id="openBtn" mnemonicParsing="false" onAction="#openTournier" text="Öffnen">
|
<Button fx:id="openBtn" mnemonicParsing="false" onAction="#openTournament" text="Öffnen">
|
||||||
<VBox.margin>
|
<VBox.margin>
|
||||||
<Insets bottom="20.0" top="40.0" />
|
<Insets bottom="20.0" top="40.0" />
|
||||||
</VBox.margin>
|
</VBox.margin>
|
Loading…
Reference in New Issue