Compare commits

..

30 Commits

Author SHA1 Message Date
0adbe6caf3 commented 2023-02-06 05:11:36 +01:00
911dd9f2d3 some unused Methods implemented 2023-02-05 22:45:10 +01:00
22cc69ecf7 bug fixes 2023-02-03 14:07:30 +01:00
85a599cda5 Kommentare ergänzt 2023-02-01 12:27:20 +01:00
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
f1db5ecca9 Kommentare ergänzt 2023-02-01 11:58:55 +01:00
aecf521d96 Tweaks 2023-02-01 09:50:47 +01:00
1e6d13698f Updated 2023-02-01 09:13:24 +01:00
30511d32b4 changeorder-view hinzugefügt 2023-02-01 08:52:15 +01:00
8ac02b756b anpassungen Registration-view.fxml 2023-02-01 08:51:35 +01:00
b9ccf98bf6 Merge branch 'main' of https://git.bib.de/DopplerEffekt/VPR-Projekt-JavaFX 2023-01-31 21:25:08 +01:00
159f04271c Registrierung abgeschlossen 2023-01-31 21:24:48 +01:00
9750a48d68 return statement ergänzt 2023-01-31 19:51:00 +01:00
9aa49d7dfe Registrierung ergänzt und Kommentar hinzugefügt 2023-01-31 18:36:32 +01:00
d222db8816 order.txt testdatei + Data changeorder() geändert 2023-01-31 18:20:28 +01:00
4ccb2c80f2 kleine änderung an der image url 2023-01-31 16:22:57 +01:00
8a03439ab6 Registrierungsszwnenwechsel angepasst 2023-01-31 16:20:51 +01:00
e2de2b7383 Fehler behoben 2023-01-31 15:49:57 +01:00
e54ce035e0 Registrireung weiterentwickelt 2023-01-31 14:57:37 +01:00
ae62ff5fd7 anpassungen 2023-01-31 14:29:19 +01:00
cacd6423a0 anpassungen 2023-01-31 14:27:24 +01:00
c5b249e096 Merge branch 'main' of https://git.bib.de/DopplerEffekt/VPR-Projekt-JavaFX
# Conflicts:
#	target/classes/com/example/vpr_javafx/Registration-view.fxml
2023-01-30 19:59:08 +01:00
e6daea1222 Registration View aktualisiert 2023-01-30 19:52:54 +01:00
fc4b44fa47 Bugs bisschen entfernt 2023-01-30 19:30:20 +01:00
8e985224f4 Merge remote-tracking branch 'origin/main' 2023-01-30 18:30:10 +01:00
c474f98ba3 menue toString wieder hergestellt 2023-01-30 18:29:55 +01:00
a3bc3285e6 Registration View erstellt 2023-01-30 18:03:30 +01:00
7b0ba5aee6 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	target/classes/com/example/vpr_javafx/HelloController.class
2023-01-30 17:47:34 +01:00
01b95196a3 HelloController imageview + allergene hinzugefügt, menue.txt um allergene erweitert, view angepasst 2023-01-30 17:45:57 +01:00
31 changed files with 1222 additions and 403 deletions

View File

@@ -1,20 +1,20 @@
Montag;Pommes;mit Kroketten und Gemüse;Vegan
Montag;Vegane Waffel;mit Puderzucker;DessertV
Montag;Schnitzel;mit Kroketten, Gemüse und Soße;Fleisch
Montag;Wackelpudding;mit Vanillesoße;Dessert
Dienstag;Rote Linsen Curry;mit Süßkartoffeln;Vegan
Dienstag;Vegane Pancakes;mit Ahornsirup;DessertV
Dienstag;Gebratene Nudeln;mit Gemüse;Vegetarisch
Dienstag;Berliner;mit Erdbeerfüllung;Dessert
Mittwoch;Bratkartoffeln;mit veganer Bratensoße;Vegan
Mittwoch;Pudding;mit Schokostreuseln;DessertV
Mittwoch;Bratkartoffeln;mit Leberkäse und Ei;Fleisch
Mittwoch;Pudding;mit Vanillesoße;Dessert
Donnerstag;Bauerntopf;mit veganem Hack;Vegan
Donnerstag;Bananenbrot;mit Datteln;DessertV
Donnerstag;Bauerntopf;mit veganem Hack;Vegan
Donnerstag;Bananenbrot;mit Datteln;DessertV
Freitag;Bauerntopf;mit veganem Hack;Vegan
Freitag;Bananenbrot;mit Datteln;DessertV
Freitag;Bauerntopf;mit veganem Hack;Vegan
Freitag;Bananenbrot;mit Datteln;DessertV
06.02.2023;Montag;Pommes;mit Kroketten und Gemüse;Vegan;g,2,3
06.02.2023;Montag;Vegane Waffel;mit Puderzucker;DessertV;g,b,k
06.02.2023;Montag;Schnitzel;mit Kroketten, Gemüse und Soße;Fleisch;g,c,a,2,3
06.02.2023;Montag;Wackelpudding;mit Vanillesoße;Dessert;c,2
07.02.2023;Dienstag;Rote Linsen Curry;mit Süßkartoffeln;Vegan;g,b,2,3
07.02.2023;Dienstag;Vegane Pancakes;mit Ahornsirup;DessertV;g,b,3
07.02.2023;Dienstag;Gebratene Nudeln;mit Gemüse;Vegetarisch;b,c,a,i,3
07.02.2023;Dienstag;Berliner;mit Erdbeerfüllung;Dessert;c,a
08.02.2023;Mittwoch;Bratkartoffeln;mit veganer Bratensoße;Vegan;b,2,3
08.02.2023;Mittwoch;Pudding;mit Schokostreuseln;DessertV;b,2
08.02.2023;Mittwoch;Bratkartoffeln;mit Leberkäse und Ei;Fleisch;a,j,2,3
08.02.2023;Mittwoch;Pudding;mit Vanillesoße;Dessert;c,2
09.02.2023;Donnerstag;Bauerntopf;mit veganem Hack;Vegan;g,c,a,h,1,2,3
09.02.2023;Donnerstag;Bananenbrot;mit Datteln;DessertV;g,c
09.02.2023;Donnerstag;Bauerntopf;mit veganem Hack;Vegan;g,c,a,h,1,2,3
09.02.2023;Donnerstag;Bananenbrot;mit Datteln;DessertV;g,c
10.02.2023;Freitag;Bauerntopf;mit veganem Hack;Vegan;g,c,a,h,1,2,3
10.02.2023;Freitag;Bananenbrot;mit Datteln;DessertV;g,c
10.02.2023;Freitag;Bauerntopf;mit veganem Hack;Vegan;g,c,a,h,1,2,3
10.02.2023;Freitag;Bananenbrot;mit Datteln;DessertV;g,c

5
order.txt Normal file
View File

@@ -0,0 +1,5 @@
2002-02-12;1234567;Vegan;DessertV
2002-02-12;12345678;Vegan;DessertV
2002-02-12;123464353;Vegan;DessertV
2002-02-12;724373;Vegan;DessertV
2002-02-12;73473;Vegan;DessertV

25
parentOrder.txt Normal file
View File

@@ -0,0 +1,25 @@
[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)]
[Felix Düsterhaus
]

View File

@@ -60,7 +60,7 @@
<!-- Default configuration for running with: mvn clean javafx:run -->
<id>default-cli</id>
<configuration>
<mainClass>com.example.vpr_javafx/com.example.vpr_javafx.HelloApplication</mainClass>
<mainClass>com.example.vpr_javafx/com.example.vpr_javafx.MainApplication</mainClass>
</configuration>
</execution>
</executions>

View File

@@ -1,8 +1,6 @@
package com.example.vpr_javafx;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
@@ -27,15 +25,40 @@ import java.util.regex.Pattern;
*/
public class Data {
private String pathRead;
@FXML
private TextField tfPhone;
@FXML
private PasswordField pfPassword;
public Data(String pathRead) {
this.pathRead = pathRead;
}
/**
* @author Kevin Pfannenstiel
* @return
*/
public HashMap<String, String> readLoginData()
{
try {
List<String> lines = Files.readAllLines(Paths.get(pathRead));
HashMap<String, String> user = new HashMap<>();
for (int i = 0; i < lines.size(); i++)
{
String[] parts = lines.get(i).split(";");
String phoneNumber = parts[2];
String password = parts[4];
user.put(phoneNumber, password);
}
return user;
} catch (IOException e) {
e.printStackTrace();
return new HashMap<>();
}
}
/**
* readUser() is a method to split user.txt into lines and save them in an arraylist
*
@@ -51,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;
@@ -259,31 +281,33 @@ public class Data {
}
/**
* The method validates the user input
* The method validates the user input for login
*
* @return boolean inputValid
* @author Kevin Maier
* @param tfPhone Phone number the user typed in
* @param pfPassword Password the user typed in
* @param controller Controller
* @return phoneNumberValid, passwordValid
* @author Kevin Maier, Kevin Pfannenstiel
*/
public boolean validateData(TextField tfPhone, PasswordField pfPassword)
public boolean validateData(TextField tfPhone, PasswordField pfPassword, MainController controller)
{
boolean phoneNumberMatchFound;
boolean passwordMatchFound;
boolean phoneNumberValid = false;
boolean passwordValid = false;
LoginDatei file = new LoginDatei("user.txt");
HashMap<String, String> users = file.readFile();
HashMap<String, String> users = readLoginData();
String phoneNumber = tfPhone.getText();
String password = pfPassword.getText();
Pattern phoneNumberPattern = Pattern.compile("[0-9]*");
Pattern passwordPattern = Pattern.compile("^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,}$");
Pattern phoneNumberPattern = Pattern.compile("[0-9]*"); // Pattern that requires 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
if (password.isEmpty() || phoneNumber.isEmpty())
{
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setContentText("Login fehlgeschlagen. Die eingegebene Handynummer ist nicht valide.");
alert.setContentText("Login fehlgeschlagen. Es wurde nichts eingegeben.");
alert.show();
return false;
}
@@ -297,7 +321,7 @@ public class Data {
if (!users.containsKey(phoneNumber) || !phoneNumberMatchFound || phoneNumber.length() >= 15)
{
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setContentText("Login fehlgeschlagen. Die eingegebene Handynummer ist nicht valide.");
alert.setContentText("Login fehlgeschlagen. Die eingegebenen Daten sind falsch.");
alert.show();
return false;
}
@@ -309,13 +333,14 @@ public class Data {
if (!users.get(phoneNumber).equals(password) || !passwordMatchFound || password.length() <8)
{
Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setContentText("Login fehlgeschlagen. Das eingegebene Passwort ist nicht valide.");
alert.setContentText("Login fehlgeschlagen. Die eingegebenen Daten sind falsch.");
alert.show();
return false;
}
else
{
passwordValid = true;
controller.setRadioButton();
}
return phoneNumberValid && passwordValid;
@@ -371,5 +396,84 @@ public class Data {
}
return changedOrderList;
}
/**
* The method validates the user input for registration
*
* @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
*/
public boolean validateRegistration(TextField tfName, TextField tfPhone, PasswordField pfPassword, TextField tfStreet, TextField tfHouseNumber, TextField tfPostalCode, TextField tfCity, TextField tfChild, MainController controller)
{
boolean phoneNumberMatchFound;
boolean passwordMatchFound;
boolean postalCodeFound;
boolean phoneNumberValid = false;
boolean passwordValid = false;
boolean postalCodeValid = false;
Alert alert = new Alert(Alert.AlertType.WARNING);
HashMap<String, String> users = readLoginData();
String phoneNumber = tfPhone.getText();
String password = pfPassword.getText();
String postalCode = tfPostalCode.getText();
Pattern phoneNumberPattern = Pattern.compile("[0-9]*"); // Pattern that requires 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
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())
{
alert.setContentText("Registrierung fehlgeschlagen. Registrierungsdaten unvollständig.");
alert.show();
}
Matcher phoneNumberMatcher = phoneNumberPattern.matcher(phoneNumber);
Matcher passwordMatcher = passwordPattern.matcher(password);
Matcher postalCodeMatcher = postalCodePattern.matcher(postalCode);
phoneNumberMatchFound = phoneNumberMatcher.find();
passwordMatchFound = passwordMatcher.find();
postalCodeFound = postalCodeMatcher.find();
if (users.containsKey(phoneNumber) || !phoneNumberMatchFound || phoneNumber.length() >= 15)
{
alert.setContentText("Registrierung fehlgeschlagen. Die eingegebenen Telefonnummer ist bereits vergeben oder ist nicht korrekt.");
alert.show();
}
else
{
phoneNumberValid = true;
}
if (!passwordMatchFound)
{
alert.setContentText("Registrierung fehlgeschlagen. Das Passwort muss mindestens 8 Zeichen lang sein und mindestens 1 Ziffer und 1 Zeichen beinhalten.");
alert.show();
}
else
{
passwordValid = true;
}
if (!postalCodeFound)
{
alert.setContentText("Registrierung fehlgeschlagen. Die Postleitzahl ist nicht richtig.");
}
else
{
postalCodeValid = true;
}
return phoneNumberValid && passwordValid && postalCodeValid;
}
}

View File

@@ -1,187 +0,0 @@
package com.example.vpr_javafx;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.stage.Stage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.List;
public class HelloController {
@FXML
private Label lMonH1;
@FXML
private Label lMonH2;
@FXML
private Label lMonD1;
@FXML
private Label lMonD2;
@FXML
private Label lTueH1;
@FXML
private Label lTueH2;
@FXML
private Label lTueD1;
@FXML
private Label lTueD2;
@FXML
private Label lWednH1;
@FXML
private Label lWednH2;
@FXML
private Label lWednD1;
@FXML
private Label lWednD2;
@FXML
private Label lThurH1;
@FXML
private Label lThurH2;
@FXML
private Label lThurD1;
@FXML
private Label lThurD2;
@FXML
private Label lFriH1;
@FXML
private Label lFriH2;
@FXML
private Label lFriD1;
@FXML
private Label lFriD2;
@FXML
private TextField tfPhone;
@FXML
private PasswordField pfPassword;
@FXML
private Label allergene;
private Stage stage;
private Scene scene;
@FXML
protected void OnSignInButton(ActionEvent event) throws IOException
{
Data data = new Data("user.txt");
data.validateData(tfPhone, pfPassword);
}
@FXML
protected void FillLabels() {
try {
List<String> menu = Files.readAllLines(Paths.get("menue.txt"));
for (int i = 0; i < menu.size(); i++)
{
String[] parts = menu.get(i).split(";");
String dish = parts[1];
String sideDish = parts[2];
String dayMenu = dish+"\n"+sideDish;
switch (i) {
case 0:
lMonH1.setText(dayMenu);
break;
case 1:
lMonD1.setText(dayMenu);
break;
case 2:
lMonH2.setText(dayMenu);
break;
case 3:
lMonD2.setText(dayMenu);
break;
case 4:
lTueH1.setText(dayMenu);
break;
case 5:
lTueD1.setText(dayMenu);
break;
case 6:
lTueH2.setText(dayMenu);
break;
case 7:
lTueD2.setText(dayMenu);
break;
case 8:
lWednH1.setText(dayMenu);
break;
case 9:
lWednD1.setText(dayMenu);
break;
case 10:
lWednH2.setText(dayMenu);
break;
case 11:
lWednD2.setText(dayMenu);
break;
case 12:
lThurH1.setText(dayMenu);
break;
case 13:
lThurD1.setText(dayMenu);
break;
case 14:
lThurH2.setText(dayMenu);
break;
case 15:
lThurD2.setText(dayMenu);
break;
case 16:
lFriH1.setText(dayMenu);
break;
case 17:
lFriD1.setText(dayMenu);
break;
case 18:
lFriH2.setText(dayMenu);
break;
case 19:
lFriD2.setText(dayMenu);
break;
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
/**
* writeAllergene() is a method to format and set allergene
* @author Madeleine Vigier
*/
@FXML
protected void writeAllergene() {
allergene.setText("a: Eier; b: Soja,\n"
+ "c: Milch; d: Erdnüsse;\n"
+ "e: Weichtiere; f: Krebstiere;\n"
+ "g: Getreide; h: Senf; i: Sesam;\n"
+ "j: Schwefeldioxid und Sulfit;\n"
+ "k: Nüsse; l: Sellerie;\n"
+ "m: Fische; n: Lupinen\n\n"
+ "1: Nitrit-Pökelsalz\n"
+ "2:Phosphat\n"
+ "3: Nitrat\n"
+ "4: Antioxidationsmittel\n"
+ "5: Farbstoff\n"
+ "6: Geschmacksverstärker;\n"
+ "7: Süßungsmittel;\n"
+ "8: Konservierungsstoff");
}
}

View File

@@ -1,42 +0,0 @@
package com.example.vpr_javafx;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.HashMap;
import java.util.List;
public class LoginDatei
{
private final String dateiname;
public LoginDatei(String dateiname)
{
this.dateiname = dateiname;
}
public HashMap<String, String> readFile()
{
try {
List<String> lines = Files.readAllLines(Paths.get(dateiname));
HashMap<String, String> user = new HashMap<>();
for (int i = 0; i < lines.size(); i++)
{
String[] parts = lines.get(i).split(";");
String phoneNumber = parts[3];
String password = parts[5];
user.put(phoneNumber, password);
}
return user;
} catch (IOException e) {
e.printStackTrace();
return new HashMap<>();
}
}
}

View File

@@ -7,20 +7,18 @@ import javafx.stage.Stage;
import java.io.IOException;
public class HelloApplication extends Application {
public class MainApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(HelloApplication.class.getResource("MenuOverview-view.fxml"));
FXMLLoader fxmlLoader = new FXMLLoader(MainApplication.class.getResource("MenuOverview-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(),1000, 800);
stage.setTitle("Mittagsbestellung");
stage.setScene(scene);
stage.show();
HelloController controller = fxmlLoader.getController();
MainController controller = fxmlLoader.getController();
controller.FillLabels();
controller.writeAllergene();
}
public static void main(String[] args) {
launch();
}
public static void main(String[] args) {launch();}
}

View File

@@ -0,0 +1,568 @@
package com.example.vpr_javafx;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
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.Arrays;
import java.util.List;
public class MainController {
@FXML
private Label lMonH1;
@FXML
private Label lMonH2;
@FXML
private Label lMonD1;
@FXML
private Label lMonD2;
@FXML
private Label lTueH1;
@FXML
private Label lTueH2;
@FXML
private Label lTueD1;
@FXML
private Label lTueD2;
@FXML
private Label lWednH1;
@FXML
private Label lWednH2;
@FXML
private Label lWednD1;
@FXML
private Label lWednD2;
@FXML
private Label lThurH1;
@FXML
private Label lThurH2;
@FXML
private Label lThurD1;
@FXML
private Label lThurD2;
@FXML
private Label lFriH1;
@FXML
private Label lFriH2;
@FXML
private Label lFriD1;
@FXML
private Label lFriD2;
@FXML
private Label monDat;
@FXML
private Label tueDat;
@FXML
private Label wedDat;
@FXML
private Label thurDat;
@FXML
private Label friDat;
@FXML
private ImageView imgImage1;
@FXML
private ImageView imgImage2;
@FXML
private ImageView imgImage3;
@FXML
private ImageView imgImage4;
@FXML
private ImageView imgImage5;
@FXML
private ImageView imgImage6;
@FXML
private ImageView imgImage7;
@FXML
private ImageView imgImage8;
@FXML
private ImageView imgImage9;
@FXML
private ImageView imgImage10;
@FXML
private TextField tfPhone;
@FXML
public TextField tfName;
@FXML
public TextField tfChild;
@FXML
public TextField tfStreet;
@FXML
public TextField tfHouseNumber;
@FXML
public TextField tfPostalCode;
@FXML
public TextField tfCity;
@FXML
private PasswordField pfPassword;
@FXML
private Label allergene;
@FXML
private Button btResetSelection;
@FXML
private Button btToOrder;
@FXML
private RadioButton rbMonH1;
@FXML
private RadioButton rbMonH2;
@FXML
private RadioButton rbTueH1;
@FXML
private RadioButton rbTueH2;
@FXML
private RadioButton rbWednH1;
@FXML
private RadioButton rbWednH2;
@FXML
private RadioButton rbThurH1;
@FXML
private RadioButton rbThurH2;
@FXML
private RadioButton rbFriH1;
@FXML
private RadioButton rbFriH2;
@FXML
private ListView<String> orderList;
@FXML
final String imagePathUrl = "file:target/classes/com/example/vpr_javafx/pics/";
@FXML
final String veggieImageUrl = imagePathUrl + "vegetarisch.png";
@FXML
final String veganImageUrl = imagePathUrl + "vegan.png";
@FXML
final String meatImageUrl = imagePathUrl + "fleisch.png";
@FXML
private String imageUrl;
private ArrayList<String> chosenMeals;
/**
* OnSignInButton() validates if the input of the logindata are valid when the user click on the button.
*
* @author Kevin Pfannenstiel
* @param event
* @throws IOException
*/
@FXML
protected void OnSignInButton(ActionEvent event) throws IOException
{
Data data = new Data("user.txt");
data.validateData(tfPhone, pfPassword, this);
}
/**
* FillLabels() fills the labels with the dishes, allergenics and the dates.
*
* @author Kevin Pfannenstiel, Felix Düsterhaus
*/
@FXML
protected void FillLabels() {
try {
List<String> menuLines = Files.readAllLines(Paths.get("menue.txt"));
for (int i = 0; i < menuLines.size(); i++)
{
String[] parts = menuLines.get(i).split(";");
String date = parts[0];
String day = parts[1];
String dish = parts[2];
String sideDish = parts[3];
String typ = parts[4];
String allergenic = parts[5];
String[] allergenics = allergenic.split(",");
Menu menu = new Menu(date, dish, sideDish, typ, Arrays.stream(allergenics).toList());
String dayMenu = dish+"\n"+sideDish+"\n"+allergenic;
switch (day)
{
case "Montag":
monDat.setText(menu.getDate());
break;
case "Dienstag":
tueDat.setText(menu.getDate());
break;
case "Mittwoch":
wedDat.setText(menu.getDate());
break;
case "Donnerstag":
thurDat.setText(menu.getDate());
break;
case "Freitag":
friDat.setText(menu.getDate());
}
if(typ.equals("Fleisch")) {
imageUrl=meatImageUrl;
}
if(typ.equals("Vegetarisch")) {
imageUrl=veggieImageUrl;
}
if(typ.equals("Vegan")) {
imageUrl=veganImageUrl;
}
Image image = new Image(imageUrl);
switch (i) {
case 0:
lMonH1.setText(dayMenu);
imgImage1.setImage(image);
break;
case 1:
lMonD1.setText(dayMenu);
break;
case 2:
lMonH2.setText(dayMenu);
imgImage2.setImage(image);
break;
case 3:
lMonD2.setText(dayMenu);
break;
case 4:
lTueH1.setText(dayMenu);
imgImage3.setImage(image);
break;
case 5:
lTueD1.setText(dayMenu);
break;
case 6:
lTueH2.setText(dayMenu);
imgImage4.setImage(image);
break;
case 7:
lTueD2.setText(dayMenu);
break;
case 8:
lWednH1.setText(dayMenu);
imgImage5.setImage(image);
break;
case 9:
lWednD1.setText(dayMenu);
break;
case 10:
lWednH2.setText(dayMenu);
imgImage6.setImage(image);
break;
case 11:
lWednD2.setText(dayMenu);
break;
case 12:
lThurH1.setText(dayMenu);
imgImage7.setImage(image);
break;
case 13:
lThurD1.setText(dayMenu);
break;
case 14:
lThurH2.setText(dayMenu);
imgImage8.setImage(image);
break;
case 15:
lThurD2.setText(dayMenu);
break;
case 16:
lFriH1.setText(dayMenu);
imgImage9.setImage(image);
break;
case 17:
lFriD1.setText(dayMenu);
break;
case 18:
lFriH2.setText(dayMenu);
imgImage10.setImage(image);
break;
case 19:
lFriD2.setText(dayMenu);
break;
}
}
}
catch (IOException e) {
e.printStackTrace();
}
}
/**
* writeAllergene() is a method to format and set allergene
* @author Madeleine Vigier
*/
@FXML
protected void writeAllergene() {
allergene.setText("a: Eier; b: Soja,\n"
+ "c: Milch; d: Erdnüsse;\n"
+ "e: Weichtiere; f: Krebstiere;\n"
+ "g: Getreide; h: Senf; i: Sesam;\n"
+ "j: Schwefeldioxid und Sulfit;\n"
+ "k: Nüsse; l: Sellerie;\n"
+ "m: Fische; n: Lupinen\n\n"
+ "1: Nitrit-Pökelsalz\n"
+ "2: Phosphat\n"
+ "3: Nitrat\n"
+ "4: Antioxidationsmittel\n"
+ "5: Farbstoff\n"
+ "6: Geschmacksverstärker;\n"
+ "7: Süßungsmittel;\n"
+ "8: Konservierungsstoff");
}
/**
* ToRegistration() ruft die Registration-View auf, sobald man auf den Registrierungs-Button klickt
* @param event
* @throws IOException
* @author Kevin Maier
*/
@FXML
protected void ToRegistration(ActionEvent event) throws IOException
{
Parent root = FXMLLoader.load(getClass().getResource("Registration-view.fxml"));
Stage stage = new Stage();
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
/**
* OnRegistrationButton() creates a new user
* @param event
* @throws IOException
* @author Kevin Maier
*/
@FXML
protected void OnRegistrationButton(ActionEvent event) throws IOException
{
Alert alert = new Alert(Alert.AlertType.WARNING);
Data validRegistration = new Data("user.txt");
if (validRegistration.validateRegistration(tfName, tfPhone, pfPassword, tfStreet, tfHouseNumber, tfPostalCode, tfCity, tfChild, this))
{
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());
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
/**
* setRadioButton() is used in the validateData() method and activates the radiobuttons in the scene, if the
* logindata are valid.
*
* @author Kevin Pfannenstiel
*/
@FXML
protected void setRadioButton()
{
ToggleGroup monToggle = new ToggleGroup();
ToggleGroup tueToggle = new ToggleGroup();
ToggleGroup wednToggle = new ToggleGroup();
ToggleGroup thurToggle = new ToggleGroup();
ToggleGroup friToggle = new ToggleGroup();
rbMonH1.setToggleGroup(monToggle);
rbMonH2.setToggleGroup(monToggle);
rbTueH1.setToggleGroup(tueToggle);
rbTueH2.setToggleGroup(tueToggle);
rbWednH1.setToggleGroup(wednToggle);
rbWednH2.setToggleGroup(wednToggle);
rbThurH1.setToggleGroup(thurToggle);
rbThurH2.setToggleGroup(thurToggle);
rbFriH1.setToggleGroup(friToggle);
rbFriH1.setToggleGroup(friToggle);
btResetSelection.setVisible(true);
btToOrder.setVisible(true);
rbMonH1.setVisible(true);
rbMonH2.setVisible(true);
rbTueH1.setVisible(true);
rbTueH2.setVisible(true);
rbWednH1.setVisible(true);
rbWednH2.setVisible(true);
rbThurH1.setVisible(true);
rbThurH2.setVisible(true);
rbFriH1.setVisible(true);
rbFriH2.setVisible(true);
}
/**
* resetSelection() sets the radiobuttons inactive.
*
* @author Kevin Pfannenstiel
* @param event
*/
@FXML
protected void resetSelection(ActionEvent event)
{
rbMonH1.setSelected(false);
rbMonH2.setSelected(false);
rbTueH1.setSelected(false);
rbTueH2.setSelected(false);
rbWednH1.setSelected(false);
rbWednH2.setSelected(false);
rbThurH1.setSelected(false);
rbThurH2.setSelected(false);
rbFriH1.setSelected(false);
rbFriH2.setSelected(false);
chosenMeals.clear();
}
/**
* toOrder() writes the orders of the user in a text-file and switches the scene to the order-menu
*
* @author Kevin Pfannenstiel
* @param event
* @throws IOException
*/
@FXML
protected void toOrder(ActionEvent event) throws IOException
{
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(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();
}
}
/**
* getLabelValueWithRadio() gets the string from the Label which is connected to the selected radiobutton
* and inserts it into a list
*
* @author Kevin Pfannenstiel
* @return
*/
@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.getNameParent1()+"\n");
break;
}
}
if (rbMonH1.isSelected())
{
mainDish = lMonH1.getText();
dessert = lMonD1.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbMonH2.isSelected())
{
mainDish = lMonH2.getText();
dessert = lMonD2.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbTueH1.isSelected())
{
mainDish = lTueH1.getText();
dessert = lTueD1.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbTueH2.isSelected())
{
mainDish = lTueH2.getText();
dessert = lTueD2.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbWednH1.isSelected())
{
mainDish = lWednH1.getText();
dessert = lWednD1.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbWednH2.isSelected())
{
mainDish = lWednH2.getText();
dessert = lWednD2.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbThurH1.isSelected())
{
mainDish = lThurH1.getText();
dessert = lThurD1.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbThurH2.isSelected())
{
mainDish = lThurH2.getText();
dessert = lThurD2.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbFriH1.isSelected())
{
mainDish = lFriH1.getText();
dessert = lFriD1.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
if (rbFriH2.isSelected())
{
mainDish = lFriH2.getText();
dessert = lFriD2.getText();
chosenMeals.add("Hauptgericht: " + mainDish + " Dessert: " + dessert);
}
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setContentText(chosenMeals.toString());
alert.show();
return chosenMeals;
}
}

View File

@@ -60,14 +60,26 @@ public class Menu {
/**
* The method toString() returns a String formated to save in a File
* The method format() returns a String formated to save in a File
*
* @return a String with dish, sideDish, list of ingredients and the typ of the menu
* @author Madeleine Vigier, Felix Wöstemeyer
* @author Felix Wöstemeyer
*/
public String format() {
return date + ";" + dish + ";" + sideDish + ";" + type + ";" + ingredients;
}
/**
* The method toString() returns fomated dishdata
*
* @return a String with dish, sideDish, list of ingredients and the typ of the menu
* @author Madeleine Vigier
*/
@Override
public String toString() {
return date+";"+dish+";"+sideDish+";"+type+";"+ingredients;
return dish + '\n'
+ sideDish + '\n'
+ type + '\n'
+ ingredients;
}
}

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

@@ -1,6 +1,7 @@
module com.example.vpr_javafx {
requires javafx.controls;
requires javafx.fxml;
requires java.desktop;
opens com.example.vpr_javafx to javafx.fxml;

View File

@@ -1,19 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToolBar?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.shape.Line?>
<?import javafx.scene.text.Font?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.text.*?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="742.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/19" 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">
<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.MainController">
<Label layoutX="97.0" layoutY="176.0" text="Montag" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
@@ -21,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>
@@ -29,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>
@@ -37,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>
@@ -45,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>
@@ -75,99 +70,100 @@
</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 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="140.0" prefHeight="44.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="186.0" prefHeight="44.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="265.0" prefHeight="44.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="309.0" prefHeight="44.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="388.0" prefHeight="44.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="432.0" prefHeight="44.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="509.0" prefHeight="44.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="553.0" prefHeight="44.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="629.0" prefHeight="44.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="674.0" prefHeight="44.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>
<Label fx:id="lMonD1" layoutX="482.0" layoutY="142.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lMonD1" layoutX="482.0" layoutY="132.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lMonD2" layoutX="482.0" layoutY="186.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lMonD2" layoutX="482.0" layoutY="188.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lTueD1" layoutX="482.0" layoutY="265.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lTueD1" layoutX="482.0" layoutY="255.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lTueD2" layoutX="482.0" layoutY="309.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lTueD2" layoutX="482.0" layoutY="311.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lWednD1" layoutX="482.0" layoutY="388.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lWednD1" layoutX="482.0" layoutY="378.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lWednD2" layoutX="482.0" layoutY="432.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lWednD2" layoutX="482.0" layoutY="434.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lThurD1" layoutX="482.0" layoutY="509.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lThurD1" layoutX="482.0" layoutY="501.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lThurD2" layoutX="482.0" layoutY="553.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lThurD2" layoutX="482.0" layoutY="555.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lFriD1" layoutX="482.0" layoutY="630.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lFriD1" layoutX="482.0" layoutY="621.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lFriD2" layoutX="482.0" layoutY="674.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lFriD2" layoutX="482.0" layoutY="676.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<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" />
@@ -204,4 +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="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" 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 fx:id="monDat" 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 fx:id="tueDat" 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 fx:id="wedDat" 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 fx:id="thurDat" 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 fx:id="friDat" 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

@@ -6,7 +6,7 @@
<?import javafx.scene.shape.*?>
<?import javafx.scene.text.*?>
<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">
<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.MainController">
<Label layoutX="27.0" layoutY="160.0" style="-fx-font-weight: bold; -fx-font-family: century gothic; -fx-font-size: 14; -fx-text-fill: #746FA6;" text="Montag" textFill="BLUE">
<font>
<Font name="Century Gothic" size="13.0" />

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.MainController">
<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,14 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="com.example.vpr_javafx.HelloController"
prefHeight="400.0" prefWidth="600.0">
<AnchorPane prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: #F0C8BD;" xmlns="http://javafx.com/javafx/11.0.2" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.MainController">
<children>
<GridPane layoutX="50.0" layoutY="62.0" prefHeight="275.0" prefWidth="500.0" style="-fx-background-color: #F0C8BD;">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="153.0" minWidth="10.0" prefWidth="85.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="261.0" minWidth="10.0" prefWidth="200.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="261.0" minWidth="10.0" prefWidth="200.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Name:" textFill="#746fa6">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Handynummer:" textFill="#746fa6" GridPane.rowIndex="1">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label prefWidth="95.0" text="Passwort: " textFill="#746fa6" GridPane.rowIndex="2">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Kind:" textFill="#746fa6" GridPane.rowIndex="5">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Straße:" textFill="#746fa6" GridPane.rowIndex="3">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Ort:" textFill="#746fa6" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Button mnemonicParsing="false" onAction="#OnRegistrationButton" prefHeight="26.0" prefWidth="90.0" style="-fx-background-color: #CBC7F0; -fx-border-color: #746FA6;" text="Abschicken" textFill="WHITE" translateX="100.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
<font>
<Font name="Century Gothic" size="12.0" />
</font></Button>
<PasswordField fx:id="pfPassword" promptText="Passwort" GridPane.columnIndex="1" GridPane.rowIndex="2">
<font>
<Font name="Century Gothic" size="12.0" />
</font></PasswordField>
<TextField fx:id="tfName" promptText="Voller Name" GridPane.columnIndex="1">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfPhone" promptText="Handynummer" GridPane.columnIndex="1" GridPane.rowIndex="1">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfChild" promptText="Kind" GridPane.columnIndex="1" GridPane.rowIndex="5">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField GridPane.columnIndex="1" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfStreet" prefWidth="254.0" promptText="Straße" GridPane.columnIndex="1" GridPane.rowIndex="3">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfHouseNumber" prefWidth="123.0" promptText="Hausnummer" GridPane.columnIndex="2" GridPane.rowIndex="3">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfPostalCode" promptText="Postleitzahl" GridPane.columnIndex="1" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfCity" promptText="Ort" GridPane.columnIndex="2" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
</children>
</GridPane>
</children>
</AnchorPane>

View File

@@ -12,7 +12,7 @@
<?import javafx.scene.shape.Line?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="742.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController">
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="742.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.MainController">
<Label layoutX="76.0" layoutY="176.0" text="Montag" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" 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>
<Button fx:id="btDeleteSelection" layoutX="457.0" layoutY="264.0" mnemonicParsing="false" text="Löschen" />
<Button fx:id="btToMenu" onAction="#ToMenu" layoutX="461.0" layoutY="305.0" mnemonicParsing="false" visible="false" text="Zurück" />
<ListView fx:id="listViewDelete" layoutX="200.0" layoutY="89.0" prefHeight="200.0" prefWidth="200.0" />
</children>
</AnchorPane>

View File

@@ -1,19 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.PasswordField?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToolBar?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.shape.Line?>
<?import javafx.scene.text.Font?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.text.*?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="742.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/19" 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">
<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.MainController">
<Label layoutX="97.0" layoutY="176.0" text="Montag" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font>
@@ -21,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>
@@ -29,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>
@@ -37,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>
@@ -45,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>
@@ -75,99 +70,100 @@
</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 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="140.0" prefHeight="44.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="186.0" prefHeight="44.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="265.0" prefHeight="44.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="309.0" prefHeight="44.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="388.0" prefHeight="44.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="432.0" prefHeight="44.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="509.0" prefHeight="44.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="553.0" prefHeight="44.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="629.0" prefHeight="44.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="674.0" prefHeight="44.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>
<Label fx:id="lMonD1" layoutX="482.0" layoutY="142.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lMonD1" layoutX="482.0" layoutY="132.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lMonD2" layoutX="482.0" layoutY="186.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lMonD2" layoutX="482.0" layoutY="188.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lTueD1" layoutX="482.0" layoutY="265.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lTueD1" layoutX="482.0" layoutY="255.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lTueD2" layoutX="482.0" layoutY="309.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lTueD2" layoutX="482.0" layoutY="311.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lWednD1" layoutX="482.0" layoutY="388.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lWednD1" layoutX="482.0" layoutY="378.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lWednD2" layoutX="482.0" layoutY="432.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lWednD2" layoutX="482.0" layoutY="434.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lThurD1" layoutX="482.0" layoutY="509.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lThurD1" layoutX="482.0" layoutY="501.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lThurD2" layoutX="482.0" layoutY="553.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lThurD2" layoutX="482.0" layoutY="555.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lFriD1" layoutX="482.0" layoutY="630.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lFriD1" layoutX="482.0" layoutY="621.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />
</font></Label>
<Label fx:id="lFriD2" layoutX="482.0" layoutY="674.0" prefHeight="44.0" prefWidth="203.0" text="" textFill="#6f7baf">
<Label fx:id="lFriD2" layoutX="482.0" layoutY="676.0" prefHeight="54.0" prefWidth="203.0" text="" textFill="#6f7baf">
<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" />
@@ -204,4 +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="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" 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 fx:id="monDat" 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 fx:id="tueDat" 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 fx:id="wedDat" 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 fx:id="thurDat" 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 fx:id="friDat" 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

@@ -6,7 +6,7 @@
<?import javafx.scene.shape.*?>
<?import javafx.scene.text.*?>
<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">
<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.MainController">
<Label layoutX="27.0" layoutY="160.0" style="-fx-font-weight: bold; -fx-font-family: century gothic; -fx-font-size: 14; -fx-text-fill: #746FA6;" text="Montag" textFill="BLUE">
<font>
<Font name="Century Gothic" size="13.0" />

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.MainController">
<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,14 +1,94 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="com.example.vpr_javafx.HelloController"
prefHeight="400.0" prefWidth="600.0">
<AnchorPane prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: #F0C8BD;" xmlns="http://javafx.com/javafx/11.0.2" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.MainController">
<children>
<GridPane layoutX="50.0" layoutY="62.0" prefHeight="275.0" prefWidth="500.0" style="-fx-background-color: #F0C8BD;">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="153.0" minWidth="10.0" prefWidth="85.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="261.0" minWidth="10.0" prefWidth="200.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="261.0" minWidth="10.0" prefWidth="200.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Name:" textFill="#746fa6">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Handynummer:" textFill="#746fa6" GridPane.rowIndex="1">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label prefWidth="95.0" text="Passwort: " textFill="#746fa6" GridPane.rowIndex="2">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Kind:" textFill="#746fa6" GridPane.rowIndex="5">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Straße:" textFill="#746fa6" GridPane.rowIndex="3">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Label text="Ort:" textFill="#746fa6" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic Bold" size="12.0" />
</font></Label>
<Button mnemonicParsing="false" onAction="#OnRegistrationButton" prefHeight="26.0" prefWidth="90.0" style="-fx-background-color: #CBC7F0; -fx-border-color: #746FA6;" text="Abschicken" textFill="WHITE" translateX="100.0" GridPane.columnIndex="1" GridPane.rowIndex="7">
<font>
<Font name="Century Gothic" size="12.0" />
</font></Button>
<PasswordField fx:id="pfPassword" promptText="Passwort" GridPane.columnIndex="1" GridPane.rowIndex="2">
<font>
<Font name="Century Gothic" size="12.0" />
</font></PasswordField>
<TextField fx:id="tfName" promptText="Voller Name" GridPane.columnIndex="1">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfPhone" promptText="Handynummer" GridPane.columnIndex="1" GridPane.rowIndex="1">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfChild" promptText="Kind" GridPane.columnIndex="1" GridPane.rowIndex="5">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField GridPane.columnIndex="1" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfStreet" prefWidth="254.0" promptText="Straße" GridPane.columnIndex="1" GridPane.rowIndex="3">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfHouseNumber" prefWidth="123.0" promptText="Hausnummer" GridPane.columnIndex="2" GridPane.rowIndex="3">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfPostalCode" promptText="Postleitzahl" GridPane.columnIndex="1" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
<TextField fx:id="tfCity" promptText="Ort" GridPane.columnIndex="2" GridPane.rowIndex="4">
<font>
<Font name="Century Gothic" size="12.0" />
</font></TextField>
</children>
</GridPane>
</children>
</AnchorPane>

View File

@@ -12,7 +12,7 @@
<?import javafx.scene.shape.Line?>
<?import javafx.scene.text.Font?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="742.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.HelloController">
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="742.0" prefWidth="980.0" style="-fx-background-color: #f0C8bd;" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.example.vpr_javafx.MainController">
<Label layoutX="76.0" layoutY="176.0" text="Montag" textFill="#6f7baf">
<font>
<Font name="Century Gothic Bold" size="13.0" />

Binary file not shown.

View File

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