Compare commits

...

3 Commits

Author SHA1 Message Date
f664299fae Merge branch 'main' of https://git.bib.de/DopplerEffekt/VPR-Projekt-JavaFX
# Conflicts:
#	src/main/java/com/example/vpr_javafx/Data.java
#	src/main/java/com/example/vpr_javafx/HelloController.java
#	target/classes/com/example/vpr_javafx/Data.class
#	target/classes/com/example/vpr_javafx/HelloController.class
#	target/classes/com/example/vpr_javafx/MenuOverview-view.fxml
#	user.txt
2023-02-01 12:21:32 +01:00
d3f08d30a5 Bestellungsverarbeitung 2023-02-01 12:12:26 +01:00
aecf521d96 Tweaks 2023-02-01 09:50:47 +01:00
12 changed files with 372 additions and 235 deletions

23
parentOrder.txt Normal file
View File

@ -0,0 +1,23 @@
[Felix Düsterhaus;Detmolderstrasse 101,33102 Paderborn;1234567;Lisa;12345678A, Hauptgericht: Pommes
mit Kroketten und Gemüse
(g,2,3) Dessert: Vegane Waffel
mit Puderzucker
(g,b,k), Hauptgericht: Bratkartoffeln
mit veganer Bratensoße
(b,2,3) Dessert: Pudding
mit Schokostreuseln
(b,2)]
[Felix Düsterhaus;Detmolderstrasse 101,33102 Paderborn;1234567;Lisa;12345678A, Hauptgericht: Rote Linsen Curry
mit Süßkartoffeln
(g,b,2,3) Dessert: Vegane Pancakes
mit Ahornsirup
(g,b,3)]
[Felix Düsterhaus;Detmolderstrasse 101,33102 Paderborn;1234567;Lisa;12345678A, Hauptgericht: Rote Linsen Curry
mit Süßkartoffeln
(g,b,2,3) Dessert: Vegane Pancakes
mit Ahornsirup
(g,b,3), Hauptgericht: Bratkartoffeln
mit veganer Bratensoße
(b,2,3) Dessert: Pudding
mit Schokostreuseln
(b,2)]

View File

@ -1,9 +1,6 @@
package com.example.vpr_javafx; package com.example.vpr_javafx;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.control.Alert; import javafx.scene.control.Alert;
import javafx.scene.control.ListView;
import javafx.scene.control.PasswordField; import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
@ -19,7 +16,6 @@ import java.util.List;
import java.util.Scanner; import java.util.Scanner;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.swing.*;
/** /**
* Data is a class to edit files. * Data is a class to edit files.
@ -78,12 +74,11 @@ public class Data {
String[] parts = row.split(";"); String[] parts = row.split(";");
String nameParent1 = parts[0]; String nameParent1 = parts[0];
String nameParent2 = parts[1]; String billAddress = parts[1];
String billAddress = parts[2]; String phonenumber = parts[2];
String phonenumber = parts[3]; String nameChildren = parts[3];
String nameChildren = parts[4]; String password = parts[4];
String password = parts[5]; userList.add(new com.example.vpr_javafx.User(nameParent1, billAddress, phonenumber, nameChildren, password));
userList.add(new com.example.vpr_javafx.User(nameParent1, nameParent2, billAddress, phonenumber, nameChildren, password));
} }
return userList; return userList;
@ -286,13 +281,10 @@ public class Data {
} }
/** /**
* The method validates the user input for login * The method validates the user input
* *
* @param tfPhone Phone number the user typed in * @return boolean inputValid
* @param pfPassword Password the user typed in * @author Kevin Maier, Kevin Pfannenstiel
* @param controller Controller
* @return phoneNumberValid, passwordValid
* @author Kevin Maier, Kevin Pfannenstiel
*/ */
public boolean validateData(TextField tfPhone, PasswordField pfPassword, HelloController controller) public boolean validateData(TextField tfPhone, PasswordField pfPassword, HelloController controller)
{ {
@ -301,20 +293,20 @@ public class Data {
boolean phoneNumberValid = false; boolean phoneNumberValid = false;
boolean passwordValid = false; boolean passwordValid = false;
Alert alert = new Alert(Alert.AlertType.WARNING);
HashMap<String, String> users = readLoginData(); HashMap<String, String> users = readLoginData();
String phoneNumber = tfPhone.getText(); String phoneNumber = tfPhone.getText();
String password = pfPassword.getText(); String password = pfPassword.getText();
Pattern phoneNumberPattern = Pattern.compile("[0-9]*"); // Pattern that requires just numbers Pattern phoneNumberPattern = Pattern.compile("[0-9]*");
Pattern passwordPattern = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$"); // Pattern that requires minimum eight characters, at least one letter and one number Pattern passwordPattern = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$");
if (password.isEmpty() || phoneNumber.isEmpty()) if (password.isEmpty() || phoneNumber.isEmpty())
{ {
alert.setContentText("Login fehlgeschlagen. Anmeldedaten unvollständig."); Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setContentText("Login fehlgeschlagen. Es wurde nichts eingegeben.");
alert.show(); alert.show();
return false;
} }
Matcher phoneNumberMatcher = phoneNumberPattern.matcher(phoneNumber); Matcher phoneNumberMatcher = phoneNumberPattern.matcher(phoneNumber);
@ -325,18 +317,22 @@ public class Data {
if (!users.containsKey(phoneNumber) || !phoneNumberMatchFound || phoneNumber.length() >= 15) if (!users.containsKey(phoneNumber) || !phoneNumberMatchFound || phoneNumber.length() >= 15)
{ {
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setContentText("Login fehlgeschlagen. Die eingegebenen Daten sind falsch."); alert.setContentText("Login fehlgeschlagen. Die eingegebenen Daten sind falsch.");
alert.show(); alert.show();
return false;
} }
else else
{ {
phoneNumberValid = true; phoneNumberValid = true;
} }
if (!users.get(phoneNumber).equals(password) || !passwordMatchFound) if (!users.get(phoneNumber).equals(password) || !passwordMatchFound || password.length() <8)
{ {
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setContentText("Login fehlgeschlagen. Die eingegebenen Daten sind falsch."); alert.setContentText("Login fehlgeschlagen. Die eingegebenen Daten sind falsch.");
alert.show(); alert.show();
return false;
} }
else else
{ {
@ -349,18 +345,61 @@ public class Data {
/** /**
* The method validates the user input for registration * The method changes the orders.txt file by removing canceled orders
* *
* @param tfName The name the user typed in * @return ArrayList\<Order> changedOrderList
* @param tfPhone The phone number the user typed in * @author Felix Düsterhaus
* @param pfPassword The password the user typed in */
* @param tfStreet The street name the user typed in
* @param tfHouseNumber The house number the user typed in public ArrayList<com.example.vpr_javafx.Order> changeOrder(String userLogin) {
* @param tfPostalCode The postal code the user typed in
* @param tfCity The city the user typed in /*
* @param tfChild The child the user typed in File orderFile = new File("C:/Unterricht/VPR/orders.txt");
* @param controller Controller if (orderFile.delete()) {
* @return phoneNumberValid, passwordValid, postalCodeValid System.out.println("Datei gelöscht: " + orderFile.getName());
} else {
System.out.println("Fehler, " + orderFile.getName() + " nicht gelöscht.");
}
*/
ArrayList<com.example.vpr_javafx.Order> changedOrderList = new ArrayList<>();
List<String> rows = getRows();
int changedEntries = 0;
for (String row : rows) {
String[] parts = row.split(";");
String date = parts[0];
String user = parts[1];
String mealtyp = parts[2];
String deserttyp = parts[3];
if(!userLogin.equals(user)) {
changedOrderList.add(new com.example.vpr_javafx.Order(date, user, mealtyp, deserttyp));
} else {
changedEntries++;
}
}
try {
FileWriter writer = new FileWriter("orders2.txt");
for(com.example.vpr_javafx.Order str: changedOrderList) {
writer.write(str + System.lineSeparator());
}
writer.close();
System.out.println("Daten gelöscht");
System.out.println(changedEntries + " Einträge entfernt.");
} catch (IOException e) {
e.printStackTrace();
}
return changedOrderList;
}
/**
*
* @param tfPhone
* @param pfPassword
* @param controller
* @author Kevin Maier
*/ */
public boolean validateRegistration(TextField tfName, TextField tfPhone, PasswordField pfPassword, TextField tfStreet, TextField tfHouseNumber, TextField tfPostalCode, TextField tfCity, TextField tfChild, HelloController controller) public boolean validateRegistration(TextField tfName, TextField tfPhone, PasswordField pfPassword, TextField tfStreet, TextField tfHouseNumber, TextField tfPostalCode, TextField tfCity, TextField tfChild, HelloController controller)
{ {
@ -379,9 +418,9 @@ public class Data {
String password = pfPassword.getText(); String password = pfPassword.getText();
String postalCode = tfPostalCode.getText(); String postalCode = tfPostalCode.getText();
Pattern phoneNumberPattern = Pattern.compile("[0-9]*"); // Pattern that requires just numbers Pattern phoneNumberPattern = Pattern.compile("[0-9]*");
Pattern passwordPattern = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$"); // Pattern that requires minimum eight characters, at least one letter and one number Pattern passwordPattern = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$");
Pattern postalCodePattern = Pattern.compile("[0-9]{5}"); // Pattern that requires 5 numbers Pattern postalCodePattern = Pattern.compile("[0-9]{5}");
if (tfName.getText().isEmpty() || tfPhone.getText().isEmpty() || pfPassword.getText().isEmpty() || tfStreet.getText().isEmpty() || tfHouseNumber.getText().isEmpty() || tfPostalCode.getText().isEmpty() || tfCity.getText().isEmpty() || tfChild.getText().isEmpty()) if (tfName.getText().isEmpty() || tfPhone.getText().isEmpty() || pfPassword.getText().isEmpty() || tfStreet.getText().isEmpty() || tfHouseNumber.getText().isEmpty() || tfPostalCode.getText().isEmpty() || tfCity.getText().isEmpty() || tfChild.getText().isEmpty())
{ {
@ -426,55 +465,5 @@ public class Data {
return phoneNumberValid && passwordValid && postalCodeValid; return phoneNumberValid && passwordValid && postalCodeValid;
} }
/**
* The method changes the orders.txt file by removing canceled orders
*
* @return ArrayList\<Order> changedOrderList
* @author Felix Düsterhaus
*/
public ArrayList<com.example.vpr_javafx.Order> changeOrder(String userLogin, ListView<String> ListViewDelete) {
ArrayList<String> chosenMeals = new ArrayList<>();
ObservableList<String> chosenMealsObservable = FXCollections.observableList(chosenMeals);
ArrayList<com.example.vpr_javafx.Order> changedOrderList = new ArrayList<>();
List<String> rows = getRows();
int changedEntries = 0;
//ImageIcon icon = new ImageIcon("file:target/classes/com/example/vpr_javafx/pics/vegetarisch.png");
UIManager.put("OptionPane.noButtonText", "Nein");
UIManager.put("OptionPane.yesButtonText", "Ja");
int result = JOptionPane.showInternalConfirmDialog(null, "Bestellungen wirklich Löschen?", "Bestätigung", JOptionPane.YES_NO_OPTION);
ListViewDelete.getSelectionModel().getSelectedItems();
if (result == JOptionPane.YES_OPTION) {
for (String row : rows) {
String[] parts = row.split(";");
String date = parts[0];
String user = parts[1];
String mealtyp = parts[2];
String deserttyp = parts[3];
if(!userLogin.equals(user)) {
changedOrderList.add(new com.example.vpr_javafx.Order(date, user, mealtyp, deserttyp));
} else {
changedEntries++;
}
}
try {
FileWriter writer = new FileWriter("orders2.txt");
for(com.example.vpr_javafx.Order str: changedOrderList) {
writer.write(str + System.lineSeparator());
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
JOptionPane.showMessageDialog(null, changedEntries + " Bestellungen Gelöscht, Sie können eine neue Bestellung aufgeben");
} else {
JOptionPane.showMessageDialog(null, "Bestellung nicht gelöscht.");
}
return changedOrderList;
}
} }

View File

@ -1,5 +1,6 @@
package com.example.vpr_javafx; package com.example.vpr_javafx;
import javafx.application.Platform;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
@ -12,17 +13,13 @@ import javafx.scene.control.*;
import javafx.scene.image.Image; import javafx.scene.image.Image;
import javafx.scene.image.ImageView; import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane; import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage; import javafx.stage.Stage;
import javax.imageio.IIOParam;
import java.io.Console;
import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
public class HelloController { public class HelloController {
@ -88,8 +85,6 @@ public class HelloController {
private ImageView imgImage9; private ImageView imgImage9;
@FXML @FXML
private ImageView imgImage10; private ImageView imgImage10;
@FXML
private AnchorPane anchorPane;
@FXML @FXML
private TextField tfPhone; private TextField tfPhone;
@ -116,12 +111,6 @@ public class HelloController {
@FXML @FXML
private Button btToOrder; private Button btToOrder;
@FXML @FXML
private Button btToChangeOrder;
@FXML
private Button btDeleteSelection;
@FXML
private Button btToMenu;
@FXML
private RadioButton rbMonH1; private RadioButton rbMonH1;
@FXML @FXML
private RadioButton rbMonH2; private RadioButton rbMonH2;
@ -142,6 +131,9 @@ public class HelloController {
@FXML @FXML
private RadioButton rbFriH2; private RadioButton rbFriH2;
@FXML
private ListView<String> orderList;
@FXML @FXML
final String imagePathUrl = "file:target/classes/com/example/vpr_javafx/pics/"; final String imagePathUrl = "file:target/classes/com/example/vpr_javafx/pics/";
@ -154,10 +146,7 @@ public class HelloController {
@FXML @FXML
private String imageUrl; private String imageUrl;
@FXML
private ArrayList<String> chosenMeals; private ArrayList<String> chosenMeals;
@FXML
private ListView<String> listViewDelete;
@FXML @FXML
protected void OnSignInButton(ActionEvent event) throws IOException protected void OnSignInButton(ActionEvent event) throws IOException
@ -309,7 +298,7 @@ public class HelloController {
protected void ToRegistration(ActionEvent event) throws IOException protected void ToRegistration(ActionEvent event) throws IOException
{ {
Parent root = FXMLLoader.load(getClass().getResource("Registration-view.fxml")); Parent root = FXMLLoader.load(getClass().getResource("Registration-view.fxml"));
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); Stage stage = new Stage();
Scene scene = new Scene(root); Scene scene = new Scene(root);
stage.setScene(scene); stage.setScene(scene);
stage.show(); stage.show();
@ -331,12 +320,6 @@ public class HelloController {
{ {
try (FileWriter writer = new FileWriter("user.txt", true)){ try (FileWriter writer = new FileWriter("user.txt", true)){
writer.write(tfName.getText() + ";" + tfStreet.getText() + " " + tfHouseNumber.getText() + "," + tfPostalCode.getText() + " " + tfCity.getText() + ";" + tfPhone.getText() + ";" + tfChild.getText() + ";" + pfPassword.getText() + System.lineSeparator()); writer.write(tfName.getText() + ";" + tfStreet.getText() + " " + tfHouseNumber.getText() + "," + tfPostalCode.getText() + " " + tfCity.getText() + ";" + tfPhone.getText() + ";" + tfChild.getText() + ";" + pfPassword.getText() + System.lineSeparator());
Parent root = FXMLLoader.load(getClass().getResource("MenuOverview-view.fxml"));
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
} }
catch (IOException e) catch (IOException e)
{ {
@ -377,11 +360,10 @@ public class HelloController {
rbThurH2.setVisible(true); rbThurH2.setVisible(true);
rbFriH1.setVisible(true); rbFriH1.setVisible(true);
rbFriH2.setVisible(true); rbFriH2.setVisible(true);
btToChangeOrder.setVisible(true);
} }
@FXML @FXML
protected void resetSelection(ActionEvent event) throws IOException protected void resetSelection(ActionEvent event)
{ {
rbMonH1.setSelected(false); rbMonH1.setSelected(false);
rbMonH2.setSelected(false); rbMonH2.setSelected(false);
@ -397,41 +379,59 @@ public class HelloController {
} }
@FXML @FXML
protected void ToChangeOrder(ActionEvent event) throws IOException protected void toOrder(ActionEvent event) throws IOException
{ {
Parent root = FXMLLoader.load(getClass().getResource("ChangeOrder-view.fxml")); try (FileWriter writer = new FileWriter("parentOrder.txt", true))
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow(); {
Scene scene = new Scene(root); writer.write(getLabelValueWithRadio().toString() + System.lineSeparator());
stage.setScene(scene); Alert alert = new Alert(Alert.AlertType.INFORMATION);
stage.show(); alert.setContentText("Bestellung abgeschickt.");
Parent rootParent = FXMLLoader.load(getClass().getResource("Order-view.fxml"));
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
Scene scene = new Scene(rootParent);
stage.setScene(scene);
stage.show();
ObservableList<String> orders = FXCollections.observableArrayList(getLabelValueWithRadio());
orderList = new ListView<>(orders);
StackPane rootStackPane = new StackPane();
rootStackPane.getChildren().add(orderList);
Scene scene2 = new Scene(rootStackPane);
stage.setScene(scene2);
stage.show();
}
catch (IOException e)
{
e.printStackTrace();
}
} }
@FXML @FXML
protected void deleteSelection() { protected void removeFromOrder() throws IOException
final int selectedId = listViewDelete.getSelectionModel().getSelectedIndex();
//String itemToRemove = listViewDelete.getSelectionModel().getSelectedItem();
listViewDelete.getItems().remove(selectedId);
Data data = new Data("order.txt");
data.changeOrder("12345", listViewDelete);
}
@FXML
protected void ToMenu(ActionEvent event) throws IOException
{ {
Parent root = FXMLLoader.load(getClass().getResource("MenuOverview-view.fxml"));
Stage stage = (Stage) ((Node) event.getSource()).getScene().getWindow();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
} }
@FXML @FXML
protected ArrayList<String> getLabelValueWithRadio(ActionEvent event) protected ArrayList<String> getLabelValueWithRadio()
{ {
chosenMeals = new ArrayList<>(); chosenMeals = new ArrayList<>();
String mainDish; String mainDish;
String dessert; String dessert;
Data data = new Data("user.txt");
for (User user : data.readUser())
{
if (tfPhone.getText().equals(user.getPhonenumber()) && pfPassword.getText().equals(user.getPassword()))
{
chosenMeals.add(user.toString());
break;
}
}
if (rbMonH1.isSelected()) if (rbMonH1.isSelected())
{ {
mainDish = lMonH1.getText(); mainDish = lMonH1.getText();

View File

@ -8,7 +8,6 @@ package com.example.vpr_javafx;
*/ */
public class User { public class User {
private String nameParent1; private String nameParent1;
private String nameParent2;
private String billAddress; private String billAddress;
private String phoneNumber; private String phoneNumber;
private String nameChildren; private String nameChildren;
@ -18,16 +17,14 @@ public class User {
* constructor * constructor
* *
* @param nameParent1 name of the first parent of the child * @param nameParent1 name of the first parent of the child
* @param nameParent2 name of the second parent of the child
* @param billAddress the address the bill should be sent to * @param billAddress the address the bill should be sent to
* @param phoneNumber phonenumber of one of the parents and also the username * @param phoneNumber phonenumber of one of the parents and also the username
* @param nameChildren name of the children * @param nameChildren name of the children
* @param password password of the user * @param password password of the user
* @author Madeleine Vigier * @author Madeleine Vigier
*/ */
public User(String nameParent1, String nameParent2, String billAddress, String phoneNumber, String nameChildren, String password) { public User(String nameParent1, String billAddress, String phoneNumber, String nameChildren, String password) {
this.nameParent1 = nameParent1; this.nameParent1 = nameParent1;
this.nameParent2 = nameParent2;
this.billAddress = billAddress; this.billAddress = billAddress;
this.phoneNumber = phoneNumber; this.phoneNumber = phoneNumber;
this.nameChildren = nameChildren; this.nameChildren = nameChildren;
@ -64,15 +61,6 @@ public class User {
return nameParent1; return nameParent1;
} }
/**
* the method getNameParent2() gets nameParent2
*
* @return nameParent2
* @author Madeleine Vigier
*/
public String getNameParent2() {
return nameParent2;
}
/** /**
* the methode toString() returns a String representation of an object * the methode toString() returns a String representation of an object
@ -82,6 +70,6 @@ public class User {
*/ */
@Override @Override
public String toString() { public String toString() {
return nameParent1 + ";" + nameParent2 + ";" + billAddress + ";" + phoneNumber + ";" + nameChildren + ";" + password; return nameParent1 + ";" + billAddress + ";" + phoneNumber + ";" + nameChildren + ";" + password;
} }
} }

View File

@ -8,7 +8,7 @@
<?import javafx.scene.text.*?> <?import javafx.scene.text.*?>
<AnchorPane fx:id="anchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="795.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController"> <AnchorPane fx:id="anchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="795.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController">
<Label layoutX="76.0" layoutY="176.0" text="Montag" textFill="#6f7baf"> <Label layoutX="97.0" layoutY="176.0" text="Montag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -16,7 +16,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="74.0" layoutY="299.0" text="Dienstag" textFill="#6f7baf"> <Label layoutX="95.0" layoutY="299.0" text="Dienstag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -24,7 +24,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="72.0" layoutY="422.0" text="Mittwoch" textFill="#6f7baf"> <Label layoutX="93.0" layoutY="422.0" text="Mittwoch" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -32,7 +32,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="63.0" layoutY="543.0" text="Donnerstag" textFill="#6f7baf"> <Label layoutX="84.0" layoutY="543.0" text="Donnerstag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -40,7 +40,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="79.0" layoutY="664.0" text="Freitag" textFill="#6f7baf"> <Label layoutX="100.0" layoutY="664.0" text="Freitag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -70,56 +70,56 @@
</font></Label> </font></Label>
<PasswordField fx:id="pfPassword" style="-fx-background-color: #f0c8cb;" /> <PasswordField fx:id="pfPassword" style="-fx-background-color: #f0c8cb;" />
<Button mnemonicParsing="false" onAction="#OnSignInButton" style="-fx-background-color: #c7d0f0;" text="anmelden" textFill="WHITE" /> <Button mnemonicParsing="false" onAction="#OnSignInButton" style="-fx-background-color: #c7d0f0;" text="anmelden" textFill="WHITE" />
<Button onAction="#ToRegistration" style="-fx-background-color: #c7d0f0;" textFill="WHITE" mnemonicParsing="false" text="registrieren" /> <Button mnemonicParsing="false" onAction="#ToRegistration" style="-fx-background-color: #c7d0f0;" text="registrieren" textFill="WHITE" />
</items> </items>
</ToolBar> </ToolBar>
<Line endX="100.0" layoutX="245.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Label fx:id="lMonH1" layoutX="148.0" layoutY="132.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf"> <Label fx:id="lMonH1" layoutX="169.0" layoutY="132.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lMonH2" layoutX="148.0" layoutY="188.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf"> <Label fx:id="lMonH2" layoutX="169.0" layoutY="188.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lTueH1" layoutX="148.0" layoutY="255.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lTueH1" layoutX="169.0" layoutY="255.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lTueH2" layoutX="148.0" layoutY="311.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lTueH2" layoutX="169.0" layoutY="311.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lWednH1" layoutX="148.0" layoutY="378.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lWednH1" layoutX="169.0" layoutY="378.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lWednH2" layoutX="148.0" layoutY="434.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lWednH2" layoutX="169.0" layoutY="434.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lThurH1" layoutX="148.0" layoutY="501.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lThurH1" layoutX="169.0" layoutY="501.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lThurH2" layoutX="148.0" layoutY="555.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lThurH2" layoutX="169.0" layoutY="555.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lFriH1" layoutX="148.0" layoutY="621.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lFriH1" layoutX="169.0" layoutY="621.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lFriH2" layoutX="148.0" layoutY="676.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lFriH2" layoutX="169.0" layoutY="676.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
@ -163,7 +163,7 @@
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Line endX="-99.99999237060547" endY="390.5999755859375" layoutX="243.0" layoutY="352.0" startX="-99.99998474121094" startY="-223.20001220703125" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="-99.99999237060547" endY="390.5999755859375" layoutX="264.0" layoutY="350.0" startX="-99.99998474121094" startY="-223.20001220703125" stroke="#746fa6" strokeWidth="3.0" />
<ImageView fitHeight="107.0" fitWidth="138.0" layoutX="820.0" layoutY="9.0" pickOnBounds="true" preserveRatio="true"> <ImageView fitHeight="107.0" fitWidth="138.0" layoutX="820.0" layoutY="9.0" pickOnBounds="true" preserveRatio="true">
<image> <image>
<Image url="@pics/logo.png" /> <Image url="@pics/logo.png" />
@ -200,26 +200,66 @@
</font> </font>
</Label> </Label>
<Label fx:id="allergene" layoutX="780.0" layoutY="362.0" prefHeight="183.0" prefWidth="192.0" /> <Label fx:id="allergene" layoutX="780.0" layoutY="362.0" prefHeight="183.0" prefWidth="192.0" />
<ImageView fx:id="imgImage1" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="146.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage1" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="140.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage2" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="195.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage2" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="196.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage3" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="271.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage3" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="265.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage4" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="318.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage4" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="319.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage5" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="392.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage5" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="386.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage6" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="439.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage6" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="440.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage7" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="515.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage7" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="509.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage8" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="559.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage8" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="560.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage9" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="635.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage9" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="629.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage10" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="680.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage10" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="681.0" pickOnBounds="true" preserveRatio="true" />
<Button fx:id="btResetSelection" layoutX="779.0" layoutY="622.0" mnemonicParsing="false" onAction="#resetSelection" text="Auswahl aufheben" visible="false" /> <Button fx:id="btResetSelection" layoutX="779.0" layoutY="622.0" mnemonicParsing="false" onAction="#resetSelection" text="Auswahl aufheben" visible="false" />
<Button fx:id="btToOrder" layoutX="779.0" layoutY="675.0" mnemonicParsing="false" prefHeight="26.0" prefWidth="114.0" text="Bestellen" visible="false" /> <Button fx:id="btToOrder" layoutX="779.0" layoutY="675.0" mnemonicParsing="false" onAction="#toOrder" prefHeight="26.0" prefWidth="114.0" text="Bestellen" visible="false" />
<RadioButton fx:id="rbMonH1" layoutX="359.0" layoutY="159.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbMonH1" layoutX="377.0" layoutY="159.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbMonH2" layoutX="359.0" layoutY="201.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbMonH2" layoutX="377.0" layoutY="206.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbTueH1" layoutX="360.0" layoutY="278.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbTueH1" layoutX="377.0" layoutY="277.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbTueH2" layoutX="361.0" layoutY="325.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbTueH2" layoutX="377.0" layoutY="324.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbWednH1" layoutX="360.0" layoutY="405.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbWednH1" layoutX="377.0" layoutY="398.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbWednH2" layoutX="359.0" layoutY="445.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbWednH2" layoutX="377.0" layoutY="445.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbThurH1" layoutX="360.0" layoutY="528.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbThurH1" layoutX="377.0" layoutY="521.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbThurH2" layoutX="360.0" layoutY="566.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbThurH2" layoutX="377.0" layoutY="565.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbFriH1" layoutX="360.0" layoutY="650.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbFriH1" layoutX="377.0" layoutY="648.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbFriH2" layoutX="360.0" layoutY="687.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbFriH2" layoutX="377.0" layoutY="692.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<Label layoutX="14.0" layoutY="176.0" text="30.01.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="299.0" text="31.01.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="424.0" text="01.02.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="543.0" text="02.02.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="664.0" text="03.02.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
</AnchorPane> </AnchorPane>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController">
<children>
<GridPane layoutX="81.0" layoutY="50.0" prefHeight="272.0" prefWidth="496.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="455.6" minWidth="10.0" prefWidth="394.8" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="430.0" minWidth="0.0" prefWidth="12.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="210.0" minWidth="0.0" prefWidth="90.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="271.20000000000005" minHeight="10.0" prefHeight="202.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="271.20000000000005" minHeight="10.0" prefHeight="54.39999999999998" vgrow="SOMETIMES" />
<RowConstraints maxHeight="90.39999999999998" minHeight="0.0" prefHeight="0.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="51.39999999999998" minHeight="0.0" prefHeight="0.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<ListView fx:id="orderList" prefHeight="229.0" prefWidth="410.0" GridPane.rowSpan="2" />
<Button mnemonicParsing="false" onAction="#removeFromOrder" prefHeight="26.0" prefWidth="89.0" text="stornieren" GridPane.columnIndex="2" />
<Button mnemonicParsing="false" prefHeight="26.0" prefWidth="90.0" text="bestellen" GridPane.columnIndex="2" GridPane.rowIndex="1" />
</children>
</GridPane>
<Button layoutX="16.0" layoutY="353.0" mnemonicParsing="false" text="zurück" />
<Label layoutX="239.0" layoutY="22.0" text="Stornier-Menü" />
</children>
</AnchorPane>

View File

@ -8,7 +8,7 @@
<?import javafx.scene.text.*?> <?import javafx.scene.text.*?>
<AnchorPane fx:id="anchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="795.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController"> <AnchorPane fx:id="anchorPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="795.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController">
<Label layoutX="76.0" layoutY="176.0" text="Montag" textFill="#6f7baf"> <Label layoutX="97.0" layoutY="176.0" text="Montag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -16,7 +16,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="74.0" layoutY="299.0" text="Dienstag" textFill="#6f7baf"> <Label layoutX="95.0" layoutY="299.0" text="Dienstag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -24,7 +24,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="72.0" layoutY="422.0" text="Mittwoch" textFill="#6f7baf"> <Label layoutX="93.0" layoutY="422.0" text="Mittwoch" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -32,7 +32,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="63.0" layoutY="543.0" text="Donnerstag" textFill="#6f7baf"> <Label layoutX="84.0" layoutY="543.0" text="Donnerstag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -40,7 +40,7 @@
<Insets /> <Insets />
</opaqueInsets> </opaqueInsets>
</Label> </Label>
<Label layoutX="79.0" layoutY="664.0" text="Freitag" textFill="#6f7baf"> <Label layoutX="100.0" layoutY="664.0" text="Freitag" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font> </font>
@ -73,53 +73,53 @@
<Button mnemonicParsing="false" onAction="#ToRegistration" style="-fx-background-color: #c7d0f0;" text="registrieren" textFill="WHITE" /> <Button mnemonicParsing="false" onAction="#ToRegistration" style="-fx-background-color: #c7d0f0;" text="registrieren" textFill="WHITE" />
</items> </items>
</ToolBar> </ToolBar>
<Line endX="100.0" layoutX="245.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="245.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="266.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="187.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="310.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="433.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="554.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Line endX="100.0" layoutX="581.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="100.0" layoutX="581.0" layoutY="675.0" startX="-100.0" stroke="#746fa6" strokeWidth="3.0" />
<Label fx:id="lMonH1" layoutX="148.0" layoutY="132.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf"> <Label fx:id="lMonH1" layoutX="169.0" layoutY="132.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lMonH2" layoutX="148.0" layoutY="188.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf"> <Label fx:id="lMonH2" layoutX="169.0" layoutY="188.0" prefHeight="54.0" prefWidth="198.0" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lTueH1" layoutX="148.0" layoutY="255.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lTueH1" layoutX="169.0" layoutY="255.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lTueH2" layoutX="148.0" layoutY="311.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lTueH2" layoutX="169.0" layoutY="311.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lWednH1" layoutX="148.0" layoutY="378.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lWednH1" layoutX="169.0" layoutY="378.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lWednH2" layoutX="148.0" layoutY="434.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lWednH2" layoutX="169.0" layoutY="434.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lThurH1" layoutX="148.0" layoutY="501.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lThurH1" layoutX="169.0" layoutY="501.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lThurH2" layoutX="148.0" layoutY="555.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lThurH2" layoutX="169.0" layoutY="555.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lFriH1" layoutX="148.0" layoutY="621.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lFriH1" layoutX="169.0" layoutY="621.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Label fx:id="lFriH2" layoutX="148.0" layoutY="676.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf"> <Label fx:id="lFriH2" layoutX="169.0" layoutY="676.0" prefHeight="54.0" prefWidth="198.0" text="" textFill="#6f7baf">
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
@ -163,7 +163,7 @@
<font> <font>
<Font name="Century Gothic Bold" size="13.0" /> <Font name="Century Gothic Bold" size="13.0" />
</font></Label> </font></Label>
<Line endX="-99.99999237060547" endY="390.5999755859375" layoutX="243.0" layoutY="352.0" startX="-99.99998474121094" startY="-223.20001220703125" stroke="#746fa6" strokeWidth="3.0" /> <Line endX="-99.99999237060547" endY="390.5999755859375" layoutX="264.0" layoutY="350.0" startX="-99.99998474121094" startY="-223.20001220703125" stroke="#746fa6" strokeWidth="3.0" />
<ImageView fitHeight="107.0" fitWidth="138.0" layoutX="820.0" layoutY="9.0" pickOnBounds="true" preserveRatio="true"> <ImageView fitHeight="107.0" fitWidth="138.0" layoutX="820.0" layoutY="9.0" pickOnBounds="true" preserveRatio="true">
<image> <image>
<Image url="@pics/logo.png" /> <Image url="@pics/logo.png" />
@ -200,27 +200,66 @@
</font> </font>
</Label> </Label>
<Label fx:id="allergene" layoutX="780.0" layoutY="362.0" prefHeight="183.0" prefWidth="192.0" /> <Label fx:id="allergene" layoutX="780.0" layoutY="362.0" prefHeight="183.0" prefWidth="192.0" />
<ImageView fx:id="imgImage1" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="146.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage1" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="140.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage2" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="195.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage2" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="196.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage3" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="271.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage3" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="265.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage4" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="318.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage4" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="319.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage5" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="392.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage5" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="386.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage6" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="439.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage6" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="440.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage7" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="515.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage7" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="509.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage8" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="559.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage8" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="560.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage9" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="635.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage9" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="629.0" pickOnBounds="true" preserveRatio="true" />
<ImageView fx:id="imgImage10" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="680.0" pickOnBounds="true" preserveRatio="true" /> <ImageView fx:id="imgImage10" fitHeight="30.0" fitWidth="35.0" layoutX="126.0" layoutY="681.0" pickOnBounds="true" preserveRatio="true" />
<Button fx:id="btResetSelection" layoutX="779.0" layoutY="622.0" mnemonicParsing="false" onAction="#resetSelection" text="Auswahl aufheben" visible="false" /> <Button fx:id="btResetSelection" layoutX="779.0" layoutY="622.0" mnemonicParsing="false" onAction="#resetSelection" text="Auswahl aufheben" visible="false" />
<Button fx:id="btToOrder" layoutX="779.0" layoutY="675.0" mnemonicParsing="false" prefHeight="26.0" prefWidth="114.0" text="Bestellen" visible="false" /> <Button fx:id="btToOrder" layoutX="779.0" layoutY="675.0" mnemonicParsing="false" onAction="#toOrder" prefHeight="26.0" prefWidth="114.0" text="Bestellen" visible="false" />
<Button fx:id="btToChangeOrder" onAction="#ToChangeOrder" layoutX="779.0" layoutY="728.0" mnemonicParsing="false" prefHeight="26.0" prefWidth="114.0" text="Bestellung" visible="false" /> <RadioButton fx:id="rbMonH1" layoutX="377.0" layoutY="159.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbMonH1" layoutX="359.0" layoutY="159.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbMonH2" layoutX="377.0" layoutY="206.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbMonH2" layoutX="359.0" layoutY="201.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbTueH1" layoutX="377.0" layoutY="277.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbTueH1" layoutX="360.0" layoutY="278.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbTueH2" layoutX="377.0" layoutY="324.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbTueH2" layoutX="361.0" layoutY="325.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbWednH1" layoutX="377.0" layoutY="398.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbWednH1" layoutX="360.0" layoutY="405.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbWednH2" layoutX="377.0" layoutY="445.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbWednH2" layoutX="359.0" layoutY="445.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbThurH1" layoutX="377.0" layoutY="521.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbThurH1" layoutX="360.0" layoutY="528.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbThurH2" layoutX="377.0" layoutY="565.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbThurH2" layoutX="360.0" layoutY="566.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbFriH1" layoutX="377.0" layoutY="648.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbFriH1" layoutX="360.0" layoutY="650.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <RadioButton fx:id="rbFriH2" layoutX="377.0" layoutY="692.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbFriH2" layoutX="360.0" layoutY="687.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" /> <Label layoutX="14.0" layoutY="176.0" text="30.01.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="299.0" text="31.01.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="424.0" text="01.02.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="543.0" text="02.02.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
<Label layoutX="14.0" layoutY="664.0" text="03.02.2023" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
<opaqueInsets>
<Insets />
</opaqueInsets>
</Label>
</AnchorPane> </AnchorPane>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.14-internal" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController">
<children>
<GridPane layoutX="81.0" layoutY="50.0" prefHeight="272.0" prefWidth="496.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="455.6" minWidth="10.0" prefWidth="394.8" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="430.0" minWidth="0.0" prefWidth="12.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="210.0" minWidth="0.0" prefWidth="90.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="271.20000000000005" minHeight="10.0" prefHeight="202.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="271.20000000000005" minHeight="10.0" prefHeight="54.39999999999998" vgrow="SOMETIMES" />
<RowConstraints maxHeight="90.39999999999998" minHeight="0.0" prefHeight="0.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="51.39999999999998" minHeight="0.0" prefHeight="0.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<ListView fx:id="orderList" prefHeight="229.0" prefWidth="410.0" GridPane.rowSpan="2" />
<Button mnemonicParsing="false" onAction="#removeFromOrder" prefHeight="26.0" prefWidth="89.0" text="stornieren" GridPane.columnIndex="2" />
<Button mnemonicParsing="false" prefHeight="26.0" prefWidth="90.0" text="bestellen" GridPane.columnIndex="2" GridPane.rowIndex="1" />
</children>
</GridPane>
<Button layoutX="16.0" layoutY="353.0" mnemonicParsing="false" text="zurück" />
<Label layoutX="239.0" layoutY="22.0" text="Stornier-Menü" />
</children>
</AnchorPane>

View File

@ -1,3 +1,3 @@
Felix Düsterhaus;Detmolderstrasse 101,33102 Paderborn;1234567;Lisa,Peter;12345678A Felix Düsterhaus;Detmolderstrasse 101,33102 Paderborn;1234567;Lisa;12345678A
Kevin Pfannenstiel;Fürstenallee 30, 33102 Paderborn;7654321;Anton;12345678B Kevin Pfannenstiel;Fürstenallee 30, 33102 Paderborn;7654321;Anton;12345678B
Fridolin Klaus;Fürstenallee 5,33102 Paderborn;987654321;Siegfried Klaus;987654321abc Max Muster;Fürstenallee 5,33102 Paderborn;123456789;Klaus Muster;12345abc