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;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.control.Alert;
import javafx.scene.control.ListView;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
@ -19,7 +16,6 @@ import java.util.List;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.*;
/**
* Data is a class to edit files.
@ -78,12 +74,11 @@ public class Data {
String[] parts = row.split(";");
String nameParent1 = parts[0];
String nameParent2 = parts[1];
String billAddress = parts[2];
String phonenumber = parts[3];
String nameChildren = parts[4];
String password = parts[5];
userList.add(new com.example.vpr_javafx.User(nameParent1, nameParent2, billAddress, phonenumber, nameChildren, password));
String billAddress = parts[1];
String phonenumber = parts[2];
String nameChildren = parts[3];
String password = parts[4];
userList.add(new com.example.vpr_javafx.User(nameParent1, billAddress, phonenumber, nameChildren, password));
}
return userList;
@ -286,12 +281,9 @@ 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
* @param pfPassword Password the user typed in
* @param controller Controller
* @return phoneNumberValid, passwordValid
* @return boolean inputValid
* @author Kevin Maier, Kevin Pfannenstiel
*/
public boolean validateData(TextField tfPhone, PasswordField pfPassword, HelloController controller)
@ -301,20 +293,20 @@ public class Data {
boolean phoneNumberValid = false;
boolean passwordValid = false;
Alert alert = new Alert(Alert.AlertType.WARNING);
HashMap<String, String> users = readLoginData();
String phoneNumber = tfPhone.getText();
String password = pfPassword.getText();
Pattern phoneNumberPattern = Pattern.compile("[0-9]*"); // Pattern that requires just numbers
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 phoneNumberPattern = Pattern.compile("[0-9]*");
Pattern passwordPattern = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$");
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();
return false;
}
Matcher phoneNumberMatcher = phoneNumberPattern.matcher(phoneNumber);
@ -325,18 +317,22 @@ public class Data {
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.show();
return false;
}
else
{
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.show();
return false;
}
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
* @param tfPhone The phone number the user typed in
* @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
* @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
* @param controller Controller
* @return phoneNumberValid, passwordValid, postalCodeValid
* @return ArrayList\<Order> changedOrderList
* @author Felix Düsterhaus
*/
public ArrayList<com.example.vpr_javafx.Order> changeOrder(String userLogin) {
/*
File orderFile = new File("C:/Unterricht/VPR/orders.txt");
if (orderFile.delete()) {
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)
{
@ -379,9 +418,9 @@ public class Data {
String password = pfPassword.getText();
String postalCode = tfPostalCode.getText();
Pattern phoneNumberPattern = Pattern.compile("[0-9]*"); // Pattern that requires just numbers
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 postalCodePattern = Pattern.compile("[0-9]{5}"); // Pattern that requires 5 numbers
Pattern phoneNumberPattern = Pattern.compile("[0-9]*");
Pattern passwordPattern = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$");
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())
{
@ -426,55 +465,5 @@ public class Data {
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;
import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
@ -12,17 +13,13 @@ import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javax.imageio.IIOParam;
import java.io.Console;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class HelloController {
@ -88,8 +85,6 @@ public class HelloController {
private ImageView imgImage9;
@FXML
private ImageView imgImage10;
@FXML
private AnchorPane anchorPane;
@FXML
private TextField tfPhone;
@ -116,12 +111,6 @@ public class HelloController {
@FXML
private Button btToOrder;
@FXML
private Button btToChangeOrder;
@FXML
private Button btDeleteSelection;
@FXML
private Button btToMenu;
@FXML
private RadioButton rbMonH1;
@FXML
private RadioButton rbMonH2;
@ -142,6 +131,9 @@ public class HelloController {
@FXML
private RadioButton rbFriH2;
@FXML
private ListView<String> orderList;
@FXML
final String imagePathUrl = "file:target/classes/com/example/vpr_javafx/pics/";
@ -154,10 +146,7 @@ public class HelloController {
@FXML
private String imageUrl;
@FXML
private ArrayList<String> chosenMeals;
@FXML
private ListView<String> listViewDelete;
@FXML
protected void OnSignInButton(ActionEvent event) throws IOException
@ -309,7 +298,7 @@ public class HelloController {
protected void ToRegistration(ActionEvent event) throws IOException
{
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);
stage.setScene(scene);
stage.show();
@ -331,12 +320,6 @@ public class HelloController {
{
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());
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)
{
@ -377,11 +360,10 @@ public class HelloController {
rbThurH2.setVisible(true);
rbFriH1.setVisible(true);
rbFriH2.setVisible(true);
btToChangeOrder.setVisible(true);
}
@FXML
protected void resetSelection(ActionEvent event) throws IOException
protected void resetSelection(ActionEvent event)
{
rbMonH1.setSelected(false);
rbMonH2.setSelected(false);
@ -397,41 +379,59 @@ public class HelloController {
}
@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))
{
writer.write(getLabelValueWithRadio().toString() + System.lineSeparator());
Alert alert = new Alert(Alert.AlertType.INFORMATION);
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(root);
Scene scene = new Scene(rootParent);
stage.setScene(scene);
stage.show();
}
@FXML
protected void deleteSelection() {
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);
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
protected ArrayList<String> getLabelValueWithRadio(ActionEvent event)
protected void removeFromOrder() throws IOException
{
}
@FXML
protected ArrayList<String> getLabelValueWithRadio()
{
chosenMeals = new ArrayList<>();
String mainDish;
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())
{
mainDish = lMonH1.getText();

View File

@ -8,7 +8,6 @@ package com.example.vpr_javafx;
*/
public class User {
private String nameParent1;
private String nameParent2;
private String billAddress;
private String phoneNumber;
private String nameChildren;
@ -18,16 +17,14 @@ public class User {
* constructor
*
* @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 phoneNumber phonenumber of one of the parents and also the username
* @param nameChildren name of the children
* @param password password of the user
* @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.nameParent2 = nameParent2;
this.billAddress = billAddress;
this.phoneNumber = phoneNumber;
this.nameChildren = nameChildren;
@ -64,15 +61,6 @@ public class User {
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
@ -82,6 +70,6 @@ public class User {
*/
@Override
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.*?>
<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 name="Century Gothic Bold" size="13.0" />
</font>
@ -16,7 +16,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -24,7 +24,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -32,7 +32,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -40,7 +40,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -70,56 +70,56 @@
</font></Label>
<PasswordField fx:id="pfPassword" style="-fx-background-color: #f0c8cb;" />
<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>
</ToolBar>
<Line endX="100.0" layoutX="245.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="245.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="245.0" layoutY="675.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="266.0" layoutY="187.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="266.0" layoutY="554.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="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="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" />
<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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</font></Label>
@ -163,7 +163,7 @@
<font>
<Font name="Century Gothic Bold" size="13.0" />
</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">
<image>
<Image url="@pics/logo.png" />
@ -200,26 +200,66 @@
</font>
</Label>
<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="imgImage2" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="195.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="imgImage4" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="318.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="imgImage6" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="439.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="imgImage8" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="559.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="imgImage10" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="680.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="126.0" layoutY="196.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="126.0" layoutY="319.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="126.0" layoutY="440.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="126.0" layoutY="560.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="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="btToOrder" layoutX="779.0" layoutY="675.0" mnemonicParsing="false" 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="rbMonH2" layoutX="359.0" layoutY="201.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="361.0" layoutY="325.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="359.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="rbThurH2" layoutX="360.0" layoutY="566.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="360.0" layoutY="687.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" 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="377.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="rbTueH1" layoutX="377.0" layoutY="277.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="377.0" layoutY="398.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="377.0" layoutY="521.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="377.0" layoutY="648.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>

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.*?>
<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 name="Century Gothic Bold" size="13.0" />
</font>
@ -16,7 +16,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -24,7 +24,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -32,7 +32,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -40,7 +40,7 @@
<Insets />
</opaqueInsets>
</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 name="Century Gothic Bold" size="13.0" />
</font>
@ -73,53 +73,53 @@
<Button mnemonicParsing="false" onAction="#ToRegistration" style="-fx-background-color: #c7d0f0;" text="registrieren" textFill="WHITE" />
</items>
</ToolBar>
<Line endX="100.0" layoutX="245.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="245.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="245.0" layoutY="675.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="266.0" layoutY="187.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="266.0" layoutY="554.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="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="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" />
<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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</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 name="Century Gothic Bold" size="13.0" />
</font></Label>
@ -163,7 +163,7 @@
<font>
<Font name="Century Gothic Bold" size="13.0" />
</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">
<image>
<Image url="@pics/logo.png" />
@ -200,27 +200,66 @@
</font>
</Label>
<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="imgImage2" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="195.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="imgImage4" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="318.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="imgImage6" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="439.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="imgImage8" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="559.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="imgImage10" fitHeight="30.0" fitWidth="35.0" layoutX="112.0" layoutY="680.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="126.0" layoutY="196.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="126.0" layoutY="319.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="126.0" layoutY="440.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="126.0" layoutY="560.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="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="btToOrder" layoutX="779.0" layoutY="675.0" mnemonicParsing="false" 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="359.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="rbTueH1" layoutX="360.0" layoutY="278.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="360.0" layoutY="405.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="360.0" layoutY="528.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="360.0" layoutY="650.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" visible="false" />
<RadioButton fx:id="rbFriH2" layoutX="360.0" layoutY="687.0" mnemonicParsing="false" onAction="#getLabelValueWithRadio" 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="377.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="rbTueH1" layoutX="377.0" layoutY="277.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="377.0" layoutY="398.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="377.0" layoutY="521.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="377.0" layoutY="648.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>

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
Fridolin Klaus;Fürstenallee 5,33102 Paderborn;987654321;Siegfried Klaus;987654321abc
Max Muster;Fürstenallee 5,33102 Paderborn;123456789;Klaus Muster;12345abc