add: parent menu

This commit is contained in:
Johannes Kantz 2023-01-31 04:30:09 +01:00
parent 329acaabcb
commit 1a4d45aed4
3 changed files with 166 additions and 23 deletions

View File

@ -0,0 +1,78 @@
package com.bib.essensbestellungsverwaltung;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.control.Button;
import javafx.scene.input.ContextMenuEvent;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.Background;
import javafx.scene.layout.BorderPane;
import java.io.IOException;
import java.util.Arrays;
public class ParentMenuController {
@FXML
BorderPane contentView;
@FXML
Button essensplanButton;
@FXML
Button kinderButton;
@FXML
Button bestellungButton;
@FXML
Button einstellungenButton;
@FXML
public void initialize() {
changePage("menue-view.fxml");
setButtonActive(essensplanButton);
}
@FXML
public void onEssensplanClick(MouseEvent mouseEvent) {
setButtonActive(essensplanButton);
changePage("menue-view.fxml");
}
@FXML
public void onKinderClick(MouseEvent mouseEvent) {
setButtonActive(kinderButton);
changePage("child-view.fxml");
}
@FXML
public void onBestellungClick(MouseEvent mouseEvent) {
setButtonActive(bestellungButton);
changePage("dailyOrder-view.fxml");
}
@FXML
public void onEinstellungenClick(MouseEvent mouseEvent) {
setButtonActive(einstellungenButton);
changePage("menue-view.fxml");
}
@FXML
public void onAusloggenClick(MouseEvent mouseEvent) {
}
private void changePage(String page) {
try {
Parent root = FXMLLoader.load(getClass().getResource(page));
contentView.setCenter(root);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
private void setButtonActive(Button b){
einstellungenButton.getStyleClass().remove("active");
kinderButton.getStyleClass().remove("active");
bestellungButton.getStyleClass().remove("active");
essensplanButton.getStyleClass().remove("active");
b.getStyleClass().add("active");
}
}

View File

@ -1,25 +1,9 @@
#btFoodChoice{
-fx-background-color: transparent;
.sidebar-nav_button {
-fx-background-color: #69b6ff;
-fx-text-fill: #123;
-fx-border-color: #000;
-fx-border-radius: 20;
}
#btFoodChoice:hover{
-fx-underline: true;
-fx-text-fill: black;
}
#btPlaceOrder{
-fx-background-color: lightblue;
-fx-text-fill: white;
-fx-background-radius: 25;
}
#btPlaceOrder:hover{
-fx-border-width: 0;
-fx-text-fill: black;
-fx-underline: true;
}
#cbChooseChild{
-fx-background-color: lightgray;
.sidebar-nav_button.active {
-fx-background-color: #4e92b4;
}

View File

@ -0,0 +1,81 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<BorderPane fx:id="contentView" prefHeight="900.0" prefWidth="1200.0" stylesheets="@menue.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.bib.essensbestellungsverwaltung.ParentMenuController">
<left>
<VBox alignment="TOP_CENTER" prefHeight="900.0" prefWidth="350.0" spacing="10.0" style="-fx-background-color: #69b6ff; -fx-padding: 20;" BorderPane.alignment="CENTER">
<children>
<Button fx:id="essensplanButton" alignment="CENTER_LEFT" mnemonicParsing="false" onMouseClicked="#onEssensplanClick" prefHeight="60.0" prefWidth="250.0" styleClass="sidebar-nav_button" text="Essensplan">
<font>
<Font size="20.0" />
</font>
<graphic>
<ImageView fitHeight="35.0" fitWidth="35.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@pics/menu.png" />
</image>
</ImageView>
</graphic>
</Button>
<Button fx:id="kinderButton" alignment="CENTER_LEFT" mnemonicParsing="false" onMouseClicked="#onKinderClick" prefHeight="60.0" prefWidth="250.0" styleClass="sidebar-nav_button" text="Kinder">
<font>
<Font size="20.0" />
</font>
<graphic>
<ImageView fitHeight="35.0" fitWidth="35.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@pics/little-kid.png" />
</image>
</ImageView>
</graphic>
</Button>
<Button fx:id="bestellungButton" alignment="CENTER_LEFT" mnemonicParsing="false" onMouseClicked="#onBestellungClick" prefHeight="60.0" prefWidth="250.0" styleClass="sidebar-nav_button" text="Bestellung">
<font>
<Font size="20.0" />
</font>
<graphic>
<ImageView fitHeight="35.0" fitWidth="35.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@pics/shopping-list.png" />
</image>
</ImageView>
</graphic>
</Button>
<Region VBox.vgrow="ALWAYS" />
<Button fx:id="einstellungenButton" alignment="CENTER_LEFT" layoutX="10.0" layoutY="130.0" mnemonicParsing="false" onMouseClicked="#onEinstellungenClick" prefHeight="60.0" prefWidth="250.0" styleClass="sidebar-nav_button" text="Einstellungen">
<font>
<Font size="20.0" />
</font>
<graphic>
<ImageView fitHeight="35.0" fitWidth="35.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@pics/setting.png" />
</image>
</ImageView>
</graphic>
</Button>
</children>
</VBox>
</left>
<top>
<HBox alignment="CENTER_RIGHT" prefHeight="40.0" prefWidth="1200.0" style="-fx-background-color: #69b6ff;" BorderPane.alignment="CENTER">
<children>
<Button mnemonicParsing="false" onMouseClicked="#onAusloggenClick" styleClass="sidebar-nav_button" text="Ausloggen">
<opaqueInsets>
<Insets />
</opaqueInsets>
</Button>
</children>
<padding>
<Insets right="20.0" />
</padding></HBox>
</top>
<center>
<AnchorPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" />
</center>
</BorderPane>