Compare commits
	
		
			21 Commits
		
	
	
		
			KindImplem
			...
			e12d6e6157
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e12d6e6157 | |||
| 4a97fee7e7 | |||
| ea8c810f13 | |||
| ffd85c6519 | |||
| a34ae15b88 | |||
| bd3bf8e07c | |||
| 73416b60e0 | |||
| b77e42914f | |||
|   | 99419ed471 | ||
| 33ebabe083 | |||
| 7eea5b2a50 | |||
| e8d29f851c | |||
|   | cf4014f552 | ||
| 2b719ea39f | |||
| 2652f5e9ac | |||
|   | 7422271b9d | ||
| ce161a6caf | |||
| 7f4fde9f4a | |||
| ca919637a3 | |||
| d69a3d6010 | |||
| aa9baabb5c | 
							
								
								
									
										3
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										3
									
								
								.idea/misc.xml
									
									
									
										generated
									
									
									
								
							| @@ -7,8 +7,9 @@ | ||||
|         <option value="$PROJECT_DIR$/pom.xml" /> | ||||
|       </list> | ||||
|     </option> | ||||
|     <option name="workspaceImportForciblyTurnedOn" value="true" /> | ||||
|   </component> | ||||
|   <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="21" project-jdk-type="JavaSDK"> | ||||
|   <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK"> | ||||
|     <output url="file://$PROJECT_DIR$/out" /> | ||||
|   </component> | ||||
| </project> | ||||
							
								
								
									
										50
									
								
								src/main/java/Logik/Account.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								src/main/java/Logik/Account.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| // Programmiert von Samuel Wolff | ||||
| // Noch nicht getestet | ||||
|  | ||||
| package Logik; | ||||
|  | ||||
| public class Account { | ||||
|  | ||||
| 	// region Felder | ||||
| 	private String passwort; | ||||
|  | ||||
| 	private int id; | ||||
|  | ||||
| 	private String benutzername; | ||||
| 	// endregion | ||||
|  | ||||
| 	// region Getter & Setter | ||||
| 	public String getPasswort() { | ||||
| 		return passwort; | ||||
| 	} | ||||
|  | ||||
| 	public void setPasswort(String passwort) { | ||||
| 		this.passwort = passwort; | ||||
| 	} | ||||
|  | ||||
| 	public int getId() { | ||||
| 		return id; | ||||
| 	} | ||||
|  | ||||
| 	public void setId(int id) { | ||||
| 		this.id = id; | ||||
| 	} | ||||
|  | ||||
|  | ||||
| 	public String getBenutzername() { | ||||
| 		return benutzername; | ||||
| 	} | ||||
|  | ||||
| 	public void setBenutzername(String benutzername) { | ||||
| 		this.benutzername = benutzername; | ||||
| 	} | ||||
| 	// endregion | ||||
|  | ||||
| 	// region Konstruktoren | ||||
| 	public Account(String passwort, String benutzername) { | ||||
| 		this.passwort = passwort; | ||||
| 		this.benutzername = benutzername; | ||||
| 	} | ||||
| 	// endregion | ||||
|  | ||||
| } | ||||
							
								
								
									
										72
									
								
								src/main/java/Logik/Benutzer.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								src/main/java/Logik/Benutzer.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| // Programmiert von Samuel Wolff | ||||
| // Noch nicht getestet | ||||
|  | ||||
| // | ||||
| //	TODO: Methoden implementieren! | ||||
| // | ||||
|  | ||||
| package Logik; | ||||
|  | ||||
| import java.nio.file.WatchEvent; | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class Benutzer extends Account { | ||||
|  | ||||
| 	// region Felder | ||||
| 	private String email; | ||||
|  | ||||
| 	private ArrayList<Kind> kinder; | ||||
| 	// endregion | ||||
|  | ||||
| 	// region Getter & Setter | ||||
| 	public String getEmail() { | ||||
| 		return email; | ||||
| 	} | ||||
|  | ||||
| 	public void setEmail(String email) { | ||||
| 		this.email = email; | ||||
| 	} | ||||
|  | ||||
| 	public ArrayList<Kind> getKinder() { | ||||
| 		return kinder; | ||||
| 	} | ||||
|  | ||||
| 	public void setKinder(ArrayList<Kind> kinder) { | ||||
| 		this.kinder = kinder; | ||||
| 	} | ||||
| 	// endregion | ||||
|  | ||||
| 	// region Konstruktoren | ||||
| 	public Benutzer(String passwort, String benutzername, String email) { | ||||
| 		super(passwort, benutzername); | ||||
| 		this.email = email; | ||||
| 		kinder = new ArrayList<>(); | ||||
| 	} | ||||
| 	// endregion | ||||
|  | ||||
| 	// region Methoden | ||||
|  | ||||
| 	/** | ||||
| 	 * Lädt eine Rechnung herunter | ||||
| 	 */ | ||||
| 	public void rechnungHerunterladen() { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Bestellt eine Mahlzeit | ||||
| 	 */ | ||||
| 	public void mahlzeitBestellen() { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Zeigt Rechnungen gefiltert an | ||||
| 	 * @param params Die Filter Argumente | ||||
| 	 */ | ||||
| 	public void rechnungAnzeigen(String params) { | ||||
|  | ||||
| 	} | ||||
| 	// endregion | ||||
|  | ||||
| } | ||||
							
								
								
									
										59
									
								
								src/main/java/Logik/Kind.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								src/main/java/Logik/Kind.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| package Logik; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class Kind { | ||||
|  | ||||
| 	// region Felder | ||||
| 	private String name; | ||||
| 	private String vorname; | ||||
| 	private int id; | ||||
| 	// TODO Zutat implementieren! | ||||
| 	// private ArrayList<Zutat> filter; | ||||
| 	// endregion | ||||
|  | ||||
| 	// region Getter & Setter | ||||
| 	public String getName() { | ||||
| 		return name; | ||||
| 	} | ||||
|  | ||||
| 	public void setName(String name) { | ||||
| 		this.name = name; | ||||
| 	} | ||||
|  | ||||
| 	public String getVorname() { | ||||
| 		return vorname; | ||||
| 	} | ||||
|  | ||||
| 	public void setVorname(String vorname) { | ||||
| 		this.vorname = vorname; | ||||
| 	} | ||||
|  | ||||
| 	public int getId() { | ||||
| 		return id; | ||||
| 	} | ||||
|  | ||||
| 	public void setId(int id) { | ||||
| 		this.id = id; | ||||
| 	} | ||||
|  | ||||
| 	// TODO Zutat implementieren! | ||||
| 	/* | ||||
| 	public ArrayList<Zutat> getFilter() { | ||||
| 		return filter; | ||||
| 	} | ||||
|  | ||||
| 	public void setFilter(ArrayList<Zutat> filter) { | ||||
| 		this.filter = filter; | ||||
| 	} | ||||
| 	*/ | ||||
| 	// endregion | ||||
|  | ||||
| 	// region Konstruktoren | ||||
| 	public Kind(String name, String vorname) { | ||||
| 		this.name = name; | ||||
| 		this.vorname = vorname; | ||||
| 	} | ||||
| 	// endregion | ||||
|  | ||||
| } | ||||
							
								
								
									
										87
									
								
								src/main/java/Logik/MitarbeiterAccount.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								src/main/java/Logik/MitarbeiterAccount.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,87 @@ | ||||
| // Programmiert von Samuel Wolff | ||||
| // Noch nicht getestet | ||||
|  | ||||
| // | ||||
| // TODO Methoden implementieren | ||||
| // | ||||
|  | ||||
| package Logik; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class MitarbeiterAccount extends Account { | ||||
|  | ||||
| 	// region Konstrukoren | ||||
| 	public MitarbeiterAccount(String passwort, String benutzername) { | ||||
| 		super(passwort, benutzername); | ||||
| 	} | ||||
| 	//endregion | ||||
|  | ||||
| 	// region Methoden | ||||
|  | ||||
| 	/** | ||||
| 	 * Setzt das Passwort eines gegebenen Accounts auf das gegebene Passwort zurück | ||||
| 	 * @param other Der Accout dessen Passwort zurückgesetzt wird | ||||
| 	 * @param passwort Das neue Passwort | ||||
| 	 */ | ||||
| 	public void passwortZurzecksetzen(Account other, String passwort) { | ||||
| 		// Soll das so? | ||||
| 		other.setPasswort(passwort); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Bestellt eine Mahlzeit | ||||
| 	 */ | ||||
| 	public void mahlzeitBestellen() { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Ändert einen Tagesplan | ||||
| 	 */ | ||||
| 	public void tagesplanAendern() { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Erstellt einen neuen Account und fügt ihn in die Datenbank ein | ||||
| 	 * @param passwort Passwort des neuen Accounts | ||||
| 	 * @param benutzername Benutzername des neuen Accounts | ||||
| 	 * @param email Die E-Mail mit der sich der User einloggt | ||||
| 	 * @param kinder Eine Liste mit allen zugehörigen Kindern des Accounts | ||||
| 	 */ | ||||
| 	public void accountErstellen(String passwort, String benutzername, String email, ArrayList<Kind> kinder) { | ||||
| 		Benutzer newAccount = new Benutzer(passwort, benutzername, email); | ||||
| 		newAccount.setKinder(kinder); | ||||
| 		// Id muss aus der Datenbank geholt werden und dann gesetzt werden | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Zeigt Rechnungen gefilter nach params an | ||||
| 	 * @param params Die Filter Arguemente | ||||
| 	 */ | ||||
| 	public void rechnungAnzeigen(String[] params) { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	// TODO sollte hier nicht noch ein User mitgegeben werden? | ||||
|  | ||||
| 	/** | ||||
| 	 * Weist ein Kind einem Account zu | ||||
| 	 * @param kind Das zuzuweisende Kind | ||||
| 	 */ | ||||
| 	public void kinderZuweisen(Kind kind) { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	// TODO hier auch? | ||||
|  | ||||
| 	/** | ||||
| 	 * Zeigt einen Benutzer an | ||||
| 	 */ | ||||
| 	public void zeigeBenutzer() { | ||||
|  | ||||
| 	} | ||||
| 	// endregion | ||||
|  | ||||
| } | ||||
							
								
								
									
										40
									
								
								src/main/java/RestAPISchnittstelle/IRestAPI.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/main/java/RestAPISchnittstelle/IRestAPI.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| /** | ||||
|  * @author Samuel Wolff | ||||
|  * noch nicht getestet | ||||
|  * | ||||
|  * TODO Json hinzufügen | ||||
|  */ | ||||
|  | ||||
| package RestAPISchnittstelle; | ||||
|  | ||||
| public interface IRestAPI { | ||||
|  | ||||
| 	// region Get | ||||
|  | ||||
| 	void get(String controllerName); | ||||
|  | ||||
| 	void get (String controllerName, int id); | ||||
|  | ||||
| 	void get (String controllerName, int id, boolean bezahlt); | ||||
|  | ||||
| 	//endregion | ||||
|  | ||||
| 	// region put | ||||
|  | ||||
| 	void put (String controllerName, int id, String jsonData); | ||||
|  | ||||
| 	// endregion | ||||
|  | ||||
| 	// region POST | ||||
|  | ||||
| 	void post (String controllerName, String jsonData); | ||||
|  | ||||
| 	// endregion | ||||
|  | ||||
| 	// region DELETE | ||||
|  | ||||
| 	void delete(String controllerName, int id); | ||||
|  | ||||
| 	// endregion | ||||
|  | ||||
| } | ||||
							
								
								
									
										152
									
								
								src/main/java/RestAPISchnittstelle/RestApiClient.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								src/main/java/RestAPISchnittstelle/RestApiClient.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,152 @@ | ||||
| /** | ||||
|  * @author Samuel Wolff | ||||
|  * noch nicht getestet | ||||
|  * TODO FERTIG MACHEN | ||||
|  */ | ||||
|  | ||||
| package RestAPISchnittstelle; | ||||
|  | ||||
| import java.net.URI; | ||||
| import java.net.http.HttpClient; | ||||
| import java.net.http.HttpRequest; | ||||
| import java.net.http.HttpResponse; | ||||
| import java.nio.charset.StandardCharsets; | ||||
|  | ||||
| public class RestApiClient implements IRestAPI{ | ||||
|  | ||||
| 	private final String urlBase = "https://pbg2h22awo.web.pb.bib.de/VPR_Schnittstelle/VPR_Schnittstelle/restAPI.php"; | ||||
|  | ||||
| 	private final HttpClient client; | ||||
|  | ||||
| 	public RestApiClient(){ | ||||
| 		client = HttpClient.newHttpClient(); | ||||
| 	} | ||||
|  | ||||
|  | ||||
|  | ||||
| 	public static void main(String[] args){ | ||||
|  | ||||
| 		new RestApiClient().get("Kind", 2); | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param controllerName | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public void get(String controllerName) { | ||||
| 		URI apiUri = URI.create(String.format("%s/%s", urlBase, controllerName)); | ||||
|  | ||||
| 		HttpRequest httpRequest = HttpRequest.newBuilder() | ||||
| 											 .uri(apiUri) | ||||
| 											 .GET() | ||||
| 											 .build(); | ||||
|  | ||||
| 		try { | ||||
| 			// Send the request and get the response | ||||
| 			HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); | ||||
|  | ||||
| 			// Print the response status code and body | ||||
| 			System.out.println("Status Code: " + httpResponse.statusCode()); | ||||
| 			System.out.println("Response Body: " + httpResponse.body()); | ||||
| 		} catch (Exception e) { | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param controllerName | ||||
| 	 * @param id | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public void get(String controllerName, int id) { | ||||
| 		URI apiUri = URI.create(String.format("%s/%s/%s", urlBase, controllerName, id)); | ||||
|  | ||||
| 		HttpRequest httpRequest = HttpRequest.newBuilder() | ||||
| 											 .uri(apiUri) | ||||
| 											 .GET() | ||||
| 											 .build(); | ||||
|  | ||||
| 		try { | ||||
| 			// Send the request and get the response | ||||
| 			HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); | ||||
|  | ||||
| 			// Print the response status code and body | ||||
| 			System.out.println("Status Code: " + httpResponse.statusCode()); | ||||
| 			System.out.println("Response Body: " + httpResponse.body()); | ||||
| 		} catch (Exception e) { | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param controllerName | ||||
| 	 * @param id | ||||
| 	 * @param bezahlt | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public void get(String controllerName, int id, boolean bezahlt) { | ||||
| 		URI apiUri = URI.create(String.format("%s/%s?%s&%s", urlBase, controllerName, id, bezahlt)); | ||||
|  | ||||
| 		HttpRequest httpRequest = HttpRequest.newBuilder() | ||||
| 											 .uri(apiUri) | ||||
| 											 .GET() | ||||
| 											 .build(); | ||||
|  | ||||
| 		try { | ||||
| 			// Send the request and get the response | ||||
| 			HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); | ||||
|  | ||||
| 			// Print the response status code and body | ||||
| 			System.out.println("Status Code: " + httpResponse.statusCode()); | ||||
| 			System.out.println("Response Body: " + httpResponse.body()); | ||||
| 		} catch (Exception e) { | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param controllerName | ||||
| 	 * @param id | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public void put(String controllerName, int id, String jsonData) { | ||||
|  | ||||
| 		URI apiUri = URI.create(String.format("%s/%s/%s", urlBase,controllerName, id)); | ||||
|  | ||||
| 		HttpRequest httpRequest = HttpRequest.newBuilder() | ||||
| 											 .uri(apiUri) | ||||
| 											 .header("Content-Type", "application/json") | ||||
| 											 .PUT(HttpRequest.BodyPublishers.ofString(jsonData, StandardCharsets.UTF_8)) | ||||
| 											 .build(); | ||||
|  | ||||
| 		try { | ||||
| 			// Send the request and get the response | ||||
| 			HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString()); | ||||
|  | ||||
| 			// Print the response status code and body | ||||
| 			System.out.println("Status Code: " + httpResponse.statusCode()); | ||||
| 			System.out.println("Response Body: " + httpResponse.body()); | ||||
| 		} catch (Exception e) { | ||||
| 			e.printStackTrace(); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param controllerName | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public void post(String controllerName, String jsonData) { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param controllerName | ||||
| 	 * @param id | ||||
| 	 */ | ||||
| 	@Override | ||||
| 	public void delete(String controllerName, int id) { | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,61 @@ | ||||
| package de.subway_surfers.vpr_app; | ||||
|  | ||||
| import javafx.event.ActionEvent; | ||||
| import javafx.fxml.FXML; | ||||
| import javafx.geometry.Pos; | ||||
| import javafx.scene.Node; | ||||
| import javafx.scene.control.Control; | ||||
| import javafx.scene.layout.ColumnConstraints; | ||||
| import javafx.scene.layout.GridPane; | ||||
| import javafx.scene.layout.Priority; | ||||
| import javafx.scene.layout.RowConstraints; | ||||
| import javafx.stage.Modality; | ||||
| import javafx.stage.Stage; | ||||
|  | ||||
|  | ||||
| public class EssensverwaltungMitarbeiterView { | ||||
| 	@FXML | ||||
| 	private GridPane tagesplan; | ||||
|  | ||||
| 	public void initialize(){ | ||||
| 		for (int i = 0; i < tagesplan.getColumnCount(); i++) { | ||||
| 			ColumnConstraints cc = new ColumnConstraints(); | ||||
| 			cc.setHgrow(Priority.ALWAYS); | ||||
| 			cc.setFillWidth(true); | ||||
| 			tagesplan.getColumnConstraints().add(cc); | ||||
| 		} | ||||
| 		VerwaltungApplication.responsiveBreiteGrid(tagesplan); | ||||
|  | ||||
| 		tagesplan.heightProperty().addListener((obs,oldValue,newValue) -> { | ||||
| 			final int zeile = 1; | ||||
| 			for (Node n : tagesplan.getChildren()){ | ||||
| 				if(n instanceof Control  && GridPane.getRowIndex(n) == zeile){ | ||||
| 					((Control) n).setPrefHeight(newValue.floatValue()); | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
|  | ||||
| 	} | ||||
| 	public void onAbmelden(ActionEvent actionEvent) { | ||||
| 		VerwaltungApplication.sceneWechseln("login-view.fxml"); | ||||
| 	} | ||||
|  | ||||
| 	public void onFilter(ActionEvent actionEvent) { | ||||
| 	} | ||||
|  | ||||
| 	public void onHinzufuegen(ActionEvent actionEvent) { | ||||
| 		Stage gerichterstellung = new Stage(); | ||||
|  | ||||
| 		//solange das neu geöffnete Fenster offen ist, wird das Hauptfenster gesperrt | ||||
| 		gerichterstellung.initModality(Modality.APPLICATION_MODAL); | ||||
|  | ||||
| 		VerwaltungApplication.sceneWechseln(gerichterstellung, 400, 530, "gerichterstellung_mitarbeiter-view.fxml"); | ||||
|  | ||||
| 		gerichterstellung.minWidthProperty().set(400); | ||||
| 		gerichterstellung.minHeightProperty().set(530); | ||||
| 	} | ||||
|  | ||||
| 	public void onZurueck(ActionEvent actionEvent) { | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,52 @@ | ||||
| package de.subway_surfers.vpr_app; | ||||
|  | ||||
| import de.subway_surfers.vpr_app.logik.Zutat; | ||||
| import javafx.event.ActionEvent; | ||||
| import javafx.fxml.FXML; | ||||
| import javafx.scene.Node; | ||||
| import javafx.scene.control.Button; | ||||
| import javafx.scene.control.TextArea; | ||||
| import javafx.scene.control.TextField; | ||||
| import javafx.scene.layout.HBox; | ||||
| import javafx.scene.layout.Pane; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class GerichterstellungMitarbeiterView { | ||||
|     private @FXML HBox anzeigeInhaltsstoffe; | ||||
|     private @FXML TextArea eingabeBeschreibung; | ||||
|     private @FXML TextField eingabeName; | ||||
|     private @FXML Button buttonInhaltsstoffe; | ||||
|     private @FXML TextField eingabeInhaltsstoffe; | ||||
|  | ||||
|     private ArrayList<Zutat> zutaten; | ||||
|  | ||||
|     public void initialize() { | ||||
|         zutaten = new ArrayList<>(); | ||||
|  | ||||
|         //wird das Fenster vergrößert, wird das Eingabefeld für Inhaltstoffe und den Hinzufügenbutton | ||||
|         // auf die volle breite vergrößert. | ||||
|         ((Pane) eingabeInhaltsstoffe.getParent()).widthProperty().addListener((obs, oldValue, newValue) -> { | ||||
|             //eingabeName, da dieses Feld immer die gesamte breite der Stage haben. | ||||
|             eingabeInhaltsstoffe.setPrefWidth(eingabeName.getWidth() - buttonInhaltsstoffe.getPrefWidth()); | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     public void onButtonInhaltsstoffeClick(ActionEvent actionEvent) { | ||||
|         String text = eingabeInhaltsstoffe.getText(); | ||||
|         if (!text.equals("")) { | ||||
|             eingabeInhaltsstoffe.setText(""); | ||||
|  | ||||
|             Button neuerInhalt = new Button(); | ||||
|             neuerInhalt.setText(text); | ||||
|             anzeigeInhaltsstoffe.getChildren().add(neuerInhalt); | ||||
|  | ||||
|             Zutat neue = new Zutat(text); | ||||
|             zutaten.add(neue); | ||||
|             neuerInhalt.setOnAction(e -> { | ||||
|                 ((HBox) neuerInhalt.getParent()).getChildren().remove(neuerInhalt); | ||||
|                 zutaten.remove(neue); | ||||
|             }); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -8,8 +8,11 @@ public class HauptmenueMitarbeiterView { | ||||
|         VerwaltungApplication.abmelden(); | ||||
|     } | ||||
|  | ||||
|     public void onAccountAnlegen(ActionEvent actionEvent) { | ||||
|     public void onAccountAnlegenClick(ActionEvent actionEvent) { | ||||
|         VerwaltungApplication.sceneWechseln("accounterstellung_mitarbeiter.fxml"); | ||||
|     } | ||||
|  | ||||
|     public void onSpeiseplanClick(ActionEvent actionEvent) { | ||||
|         VerwaltungApplication.sceneWechseln("essensverwaltung_mitarbeiter-view.fxml"); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -0,0 +1,32 @@ | ||||
| /** | ||||
|  * @author Samuel Wolff | ||||
|  * noch nicht getestet | ||||
|  */ | ||||
| // TODO Alle Zutaten einlesen und Listview mit zutatListView Objekten füllen | ||||
|  | ||||
| package de.subway_surfers.vpr_app; | ||||
|  | ||||
| import Logik.Kind; | ||||
| import javafx.fxml.FXML; | ||||
| import javafx.scene.control.Button; | ||||
| import javafx.scene.control.CheckBox; | ||||
| import javafx.scene.control.ListView; | ||||
|  | ||||
| public class InhaltsstoffeFilternController { | ||||
|  | ||||
| 	private @FXML ListView<zutatListViewController> zutatListView; | ||||
|  | ||||
| 	private @FXML CheckBox speichernCheckBox; | ||||
|  | ||||
| 	private @FXML Button abbrechenButton; | ||||
|  | ||||
| 	private @FXML Button fortfahrenButton; | ||||
|  | ||||
| 	public void initialize(){ | ||||
|  | ||||
| 		// hier ListView füllen | ||||
|  | ||||
|  | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,32 @@ | ||||
| /** | ||||
|  * @author Samuel Wolff | ||||
|  * noch nicht getestet | ||||
|  */ | ||||
| // Noch nicht getestet | ||||
|  | ||||
| package de.subway_surfers.vpr_app; | ||||
|  | ||||
| import javafx.fxml.FXML; | ||||
| import javafx.scene.control.Button; | ||||
| import javafx.scene.control.RadioButton; | ||||
| import javafx.scene.control.ToggleGroup; | ||||
|  | ||||
| public class RechnungFilterViewController { | ||||
|  | ||||
| 	private @FXML RadioButton alle; | ||||
| 	private @FXML RadioButton nichtBezahlt; | ||||
| 	private @FXML RadioButton bezahlt; | ||||
|  | ||||
| 	private ToggleGroup rButtons; | ||||
|  | ||||
| 	private @FXML Button abbrechenButton; | ||||
| 	private @FXML Button fortfahrenButton; | ||||
|  | ||||
| 	public void initialize(){ | ||||
| 		rButtons = new ToggleGroup(); | ||||
| 		alle.setToggleGroup(rButtons); | ||||
| 		nichtBezahlt.setToggleGroup(rButtons); | ||||
| 		bezahlt.setToggleGroup(rButtons); | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -2,8 +2,11 @@ package de.subway_surfers.vpr_app; | ||||
|  | ||||
| import javafx.application.Application; | ||||
| import javafx.fxml.FXMLLoader; | ||||
| import javafx.scene.Node; | ||||
| import javafx.scene.Scene; | ||||
| import javafx.scene.control.Alert; | ||||
| import javafx.scene.control.Control; | ||||
| import javafx.scene.layout.GridPane; | ||||
| import javafx.stage.Stage; | ||||
|  | ||||
| import java.io.IOException; | ||||
| @@ -92,10 +95,12 @@ public class VerwaltungApplication extends Application { | ||||
| 		Stage akt = VerwaltungApplication.getStage(); | ||||
| 		//neue Scene wird auf eine neue Stage gesetzt | ||||
| 		try { | ||||
| 			Scene scene = new Scene(fxmlLoader.load(), width, height); | ||||
| 			Scene scene = new Scene(fxmlLoader.load()); | ||||
| 			neue.setScene(scene); | ||||
|  | ||||
| 			neue.show(); | ||||
| 			neue.setHeight(height); | ||||
| 			neue.setWidth(width); | ||||
| 		} | ||||
| 		//wird die angegebene fxml Datei nicht gefunden, wird ein Alertfenster geöffnet | ||||
| 		catch (IOException | RuntimeException e) { | ||||
| @@ -111,6 +116,24 @@ public class VerwaltungApplication extends Application { | ||||
| 		sceneWechseln("login-view.fxml"); | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * Methode zum automatischen vergrößern und verkleinern von Grids | ||||
| 	 * | ||||
| 	 * Geschrieben: Max Heer, Sven Alteköster | ||||
| 	 * Getestet | ||||
| 	 * | ||||
| 	 * @param grid das responsiv sein soll | ||||
| 	 */ | ||||
| 	public static void responsiveBreiteGrid (GridPane grid) { | ||||
| 		grid.widthProperty().addListener((obs, oldValue, newValue) -> { | ||||
| 			for (Node n : grid.getChildren()) { | ||||
| 				if (n instanceof Control) { | ||||
| 					((Control) n).setPrefWidth(newValue.floatValue() / grid.getColumnCount()); | ||||
| 				} | ||||
| 			} | ||||
| 		}); | ||||
| 	} | ||||
|  | ||||
| 	public static void main(String[] args) { | ||||
| 		launch(); | ||||
| 	} | ||||
|   | ||||
							
								
								
									
										41
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Kind.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Kind.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| package de.subway_surfers.vpr_app.logik; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class Kind { | ||||
| 	private String name; | ||||
| 	private String vorname; | ||||
| 	private int id; | ||||
| 	private ArrayList<Zutat> filter; | ||||
|  | ||||
| 	public Kind(String name, String vorname, int id) { | ||||
| 		ArrayList<Zutat> filter = new ArrayList<>(); | ||||
| 		this.name = name; | ||||
| 		this.vorname = vorname; | ||||
| 		this.id = id; | ||||
| 	} | ||||
|  | ||||
| 	public String getName() { | ||||
| 		return name; | ||||
| 	} | ||||
|  | ||||
| 	public void setName(String name) { | ||||
| 		this.name = name; | ||||
| 	} | ||||
|  | ||||
| 	public String getVorname() { | ||||
| 		return vorname; | ||||
| 	} | ||||
|  | ||||
| 	public void setVorname(String vorname) { | ||||
| 		this.vorname = vorname; | ||||
| 	} | ||||
|  | ||||
| 	public int getId() { | ||||
| 		return id; | ||||
| 	} | ||||
|  | ||||
| 	public ArrayList<Zutat> getFilter() { | ||||
| 		return filter; | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										34
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Mahlzeit.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Mahlzeit.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| package de.subway_surfers.vpr_app.logik; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class Mahlzeit { | ||||
| 	private String name; | ||||
| 	private float preis; | ||||
| 	private ArrayList<Zutat> zutaten; | ||||
| 	private String beschreibung; | ||||
|  | ||||
| 	public Mahlzeit (String name, float preis, String beschreibung) { | ||||
| 		this.name = name; | ||||
| 		this.preis = preis; | ||||
| 		this.beschreibung = beschreibung; | ||||
| 		zutaten = new ArrayList<>(); | ||||
| 	} | ||||
|  | ||||
| 	public String getName() { | ||||
| 		return name; | ||||
| 	} | ||||
|  | ||||
| 	public float getPreis() { | ||||
| 		return preis; | ||||
| 	} | ||||
|  | ||||
| 	public ArrayList<Zutat> getZutaten() { | ||||
| 		return zutaten; | ||||
| 	} | ||||
|  | ||||
| 	public String getBeschreibung() { | ||||
| 		return beschreibung; | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										22
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Tagesplan.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Tagesplan.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| package de.subway_surfers.vpr_app.logik; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
|  | ||||
| public class Tagesplan { | ||||
|  | ||||
| 	private ArrayList<Mahlzeit> gerichte; | ||||
| 	private String datum; | ||||
|  | ||||
| 	public Tagesplan(String datum) { | ||||
| 		this.datum = datum; | ||||
| 	} | ||||
|  | ||||
| 	public ArrayList<Mahlzeit> getGerichte() { | ||||
| 		return gerichte; | ||||
| 	} | ||||
|  | ||||
| 	public String getDatum() { | ||||
| 		return datum; | ||||
| 	} | ||||
|  | ||||
| } | ||||
							
								
								
									
										12
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Zutat.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/main/java/de/subway_surfers/vpr_app/logik/Zutat.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| package de.subway_surfers.vpr_app.logik; | ||||
|  | ||||
| public class Zutat { | ||||
| 	private String name; | ||||
| 	public Zutat (String name) { | ||||
| 		this.name = name; | ||||
| 	} | ||||
|  | ||||
| 	public String getName(){ | ||||
| 		return this.name; | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,32 @@ | ||||
| // Programmiert von Samuel Wolff | ||||
| /** | ||||
|  * @author Samuel Wolff | ||||
|  * noch nicht getestet | ||||
|  */ | ||||
| // TODO Sobald Zutat-Klasse implementiert ist Kommentare entfernen | ||||
|  | ||||
| package de.subway_surfers.vpr_app; | ||||
|  | ||||
| import javafx.fxml.FXML; | ||||
| import javafx.scene.control.CheckBox; | ||||
| import javafx.scene.control.Label; | ||||
|  | ||||
| public class zutatListViewController { | ||||
|  | ||||
| 	//private Zutat zutat; | ||||
|  | ||||
| 	private @FXML CheckBox isChecked; | ||||
|  | ||||
| 	private @FXML Label nameLabel; | ||||
|  | ||||
| 	/*public zutatListViewController(Zutat zutat){ | ||||
| 		this.zutat = zutat; | ||||
| 	}*/ | ||||
|  | ||||
|  | ||||
| 	public void initialize(){ | ||||
| 		nameLabel.setText("ZutatA"); | ||||
| 	} | ||||
|  | ||||
|  | ||||
| } | ||||
| @@ -1,6 +1,7 @@ | ||||
| module de.subway_surfers.vpr_app { | ||||
| 	requires javafx.controls; | ||||
| 	requires javafx.fxml; | ||||
| 	requires java.net.http; | ||||
|  | ||||
|  | ||||
| 	opens de.subway_surfers.vpr_app to javafx.fxml; | ||||
|   | ||||
| @@ -0,0 +1,65 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!--Erstellt von Max Heer--> | ||||
|  | ||||
| <?import java.lang.*?> | ||||
| <?import java.util.*?> | ||||
| <?import javafx.scene.*?> | ||||
| <?import javafx.scene.control.*?> | ||||
| <?import javafx.scene.layout.*?> | ||||
|  | ||||
| <BorderPane xmlns="http://javafx.com/javafx" | ||||
|             xmlns:fx="http://javafx.com/fxml" | ||||
|             fx:controller="de.subway_surfers.vpr_app.EssensverwaltungMitarbeiterView" | ||||
|             prefHeight="400.0" prefWidth="600.0" | ||||
|             stylesheets="@layout.css"> | ||||
|     <top> | ||||
|         <BorderPane styleClass="kopfzeile"> | ||||
|             <right> | ||||
|                 <Button text="Abmelden" onAction="#onAbmelden"/> | ||||
|             </right> | ||||
|             <left> | ||||
|                 <Button text="Zurück" onAction="#onZurueck"/> | ||||
|             </left> | ||||
|         </BorderPane> | ||||
|     </top> | ||||
|     <center> | ||||
|         <BorderPane> | ||||
|             <top> | ||||
|                 <BorderPane> | ||||
|                     <left> | ||||
|                         <HBox styleClass="test" spacing="10"> | ||||
|                             <Button text="Filter" onAction="#onFilter"/> | ||||
|                             <Button text="Hinzufügen" onAction="#onHinzufuegen"/> | ||||
|                         </HBox> | ||||
|                     </left> | ||||
|                     <right> | ||||
|                         <HBox styleClass="test" spacing="10"> | ||||
|                             <Button styleClass="pfeil, links"/> | ||||
|                             <Label text="Montag DD.MM.YY"/> | ||||
|                             <Button styleClass="pfeil"/> | ||||
|                         </HBox> | ||||
|                     </right> | ||||
|                 </BorderPane> | ||||
|             </top> | ||||
|             <center> | ||||
|                 <AnchorPane> | ||||
|                     <GridPane fx:id="tagesplan" AnchorPane.bottomAnchor="20" AnchorPane.rightAnchor="20" AnchorPane.leftAnchor="20" AnchorPane.topAnchor="20" styleClass="essensuebersicht_gridlines"> | ||||
|                         <Label text="GerichtName" GridPane.columnIndex="0" GridPane.rowIndex="0"/> | ||||
|                         <Label GridPane.columnIndex="1" GridPane.rowIndex="0"/> | ||||
|                         <Label GridPane.columnIndex="2" GridPane.rowIndex="0"/> | ||||
|                         <Label GridPane.columnIndex="3" GridPane.rowIndex="0"/> | ||||
|                         <Label GridPane.columnIndex="0" GridPane.rowIndex="1"/> | ||||
|                     </GridPane> | ||||
|                 </AnchorPane> | ||||
|             </center> | ||||
|         </BorderPane> | ||||
|  | ||||
|     </center> | ||||
|     <bottom> | ||||
|         <BorderPane styleClass="button-untenrechts"> | ||||
|             <right> | ||||
|                 <Button text="Bestätigen" styleClass=".button"/> | ||||
|             </right> | ||||
|         </BorderPane> | ||||
|     </bottom> | ||||
| </BorderPane> | ||||
| @@ -0,0 +1,34 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
|  | ||||
| <?import java.lang.*?> | ||||
| <?import java.util.*?> | ||||
| <?import javafx.scene.*?> | ||||
| <?import javafx.scene.control.*?> | ||||
| <?import javafx.scene.layout.*?> | ||||
|  | ||||
| <BorderPane xmlns="http://javafx.com/javafx" | ||||
|             xmlns:fx="http://javafx.com/fxml" | ||||
|             fx:controller="de.subway_surfers.vpr_app.GerichterstellungMitarbeiterView" | ||||
|             prefHeight="400.0" prefWidth="600.0" | ||||
|             stylesheets="@layout.css" styleClass="main"> | ||||
|     <center> | ||||
|        <VBox styleClass="gerichterstellung_felder"> | ||||
|            <TextField fx:id="eingabeName" promptText="Name des Gerichtes" focusTraversable="false"/> | ||||
|            <TextArea fx:id="eingabeBeschreibung" promptText="Beschreibung" focusTraversable="false"/> | ||||
|            <HBox> | ||||
|                <TextField fx:id="eingabeInhaltsstoffe" promptText="Inhaltsstoffe" focusTraversable="false"/> | ||||
|                <Button fx:id="buttonInhaltsstoffe" onAction="#onButtonInhaltsstoffeClick" text="Hinzufügen"/> | ||||
|            </HBox> | ||||
|            <HBox fx:id="anzeigeInhaltsstoffe" /> | ||||
|        </VBox> | ||||
|     </center> | ||||
|     <bottom> | ||||
|         <BorderPane> | ||||
|             <right> | ||||
|                 <HBox styleClass="button_untenrechts"> | ||||
|                     <Button text="Speichern"/> | ||||
|                 </HBox> | ||||
|             </right> | ||||
|         </BorderPane> | ||||
|     </bottom> | ||||
| </BorderPane> | ||||
| @@ -23,11 +23,11 @@ | ||||
|         <BorderPane styleClass="main"> | ||||
|             <left> | ||||
|                 <VBox styleClass="hauptmenue_buttons_links"> | ||||
|                     <Button text="Speiseplan"/> | ||||
|                     <Button text="Speiseplan" onAction="#onSpeiseplanClick"/> | ||||
|                     <Button text="Alle Bestellungen anzeigen"/> | ||||
|                     <Button text="Rechnungen herunterladen"/> | ||||
|                     <Button text="Daten importieren/Exportieren"/> | ||||
|                     <Button text="Account anlegen" onAction="#onAccountAnlegen"/> | ||||
|                     <Button text="Account anlegen" onAction="#onAccountAnlegenClick"/> | ||||
|                 </VBox> | ||||
|             </left> | ||||
|             <right> | ||||
|   | ||||
| @@ -0,0 +1,21 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
|  | ||||
| <!-- @author Samuel Wolff | ||||
|      Noch nicht getestet | ||||
|      TODO Style einbauen | ||||
| --> | ||||
|  | ||||
| <?import javafx.scene.control.*?> | ||||
| <?import javafx.scene.layout.*?> | ||||
|  | ||||
| <VBox prefHeight="400.0" prefWidth="600.0" stylesheets="@layout.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.subway_surfers.vpr_app.InhaltsstoffeFilternController"> | ||||
|  | ||||
|     <Label text="Nach Inhaltsstoffen filtern" /> | ||||
|     <ListView fx:id="zutatListView" /> | ||||
|  | ||||
|     <HBox prefHeight="128.0" prefWidth="600.0" styleClass="bottomHbox"> | ||||
|         <CheckBox fx:id="speichernCheckBox" text="Auswahl für KindA speichern " /> | ||||
|         <Button fx:id="abbrechenButton" cancelButton="true" text="Abbrechen" /> | ||||
|         <Button fx:id="fortfahrenButton" defaultButton="true" text="Fortfahren" /> | ||||
|     </HBox> | ||||
| </VBox> | ||||
| @@ -18,7 +18,7 @@ | ||||
|     -fx-padding: 20; | ||||
| } | ||||
|  | ||||
| .hauptmenue_buttons_links{ | ||||
| .hauptmenue_buttons_links, .gerichterstellung_felder{ | ||||
|     -fx-spacing: 20; | ||||
| } | ||||
|  | ||||
| @@ -73,6 +73,13 @@ | ||||
|     -fx-vgap: 10; | ||||
|     -fx-hgap: 10; | ||||
| } | ||||
| .test { | ||||
|     -fx-padding: 10 20; | ||||
| } | ||||
|  | ||||
| .essensuebersicht_gridlines { | ||||
|      -fx-grid-lines-visible: true; | ||||
| } | ||||
|  | ||||
| .accounterstellung_links { | ||||
|     -fx-spacing: 20; | ||||
| @@ -82,3 +89,18 @@ | ||||
|     -fx-background-color: #FFDCDC; | ||||
|     -fx-text-fill: #FFDCDC; | ||||
| } | ||||
| .essensuebersicht_gridlines > * { | ||||
|     -fx-alignment: center; | ||||
| } | ||||
|  | ||||
| .pfeil{ | ||||
|     -fx-background-color: -fx-mark-highlight-color, -fx-mark-color; | ||||
|     -fx-background-insets: 0 0 -1 0, 0; | ||||
|     -fx-padding: 0.25em; | ||||
|     -fx-shape: "M 0 -3.5 v 7 l 4 -3.5 z"; | ||||
|     -fx-pref-width: 25; | ||||
| } | ||||
|  | ||||
| .links { | ||||
|     -fx-rotate: 180; | ||||
| } | ||||
| @@ -0,0 +1,30 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
|  | ||||
| <!-- | ||||
|     @author Samuel Wolff | ||||
|     Noch nicht getestet | ||||
|     TODO Style einbinden | ||||
| --> | ||||
|  | ||||
| <?import java.lang.*?> | ||||
| <?import java.util.*?> | ||||
| <?import javafx.scene.*?> | ||||
| <?import javafx.scene.control.*?> | ||||
| <?import javafx.scene.layout.*?> | ||||
|  | ||||
| <VBox xmlns="http://javafx.com/javafx" | ||||
|             xmlns:fx="http://javafx.com/fxml" | ||||
|             fx:controller="de.subway_surfers.vpr_app.RechnungFilterViewController" | ||||
|             prefHeight="400.0" prefWidth="600.0" | ||||
|             stylesheets="@layout.css"> | ||||
|  | ||||
|     <RadioButton fx:id="alle" text="Alle anzeigen" /> | ||||
|     <RadioButton fx:id="nichtBezahlt" text="Alle nicht bezahlten Anzeigen" /> | ||||
|     <RadioButton fx:id="bezahlt" text="Alle bezahlten Anzeigen" /> | ||||
|  | ||||
|     <HBox> | ||||
|         <Button fx:id="abbrechenButton" text="Abbruch" /> | ||||
|         <Button fx:id="fortfahrenButton" text="Fortfahren" /> | ||||
|     </HBox> | ||||
|  | ||||
| </VBox> | ||||
| @@ -0,0 +1,24 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
|  | ||||
| <!-- | ||||
| @author Samuel Wolff | ||||
| Noch nicht getestet | ||||
| TODO Style einbauen | ||||
| --> | ||||
|  | ||||
| <?import java.lang.*?> | ||||
| <?import java.util.*?> | ||||
| <?import javafx.scene.*?> | ||||
| <?import javafx.scene.control.*?> | ||||
| <?import javafx.scene.layout.*?> | ||||
|  | ||||
| <HBox xmlns="http://javafx.com/javafx" | ||||
|             xmlns:fx="http://javafx.com/fxml" | ||||
|             fx:controller="de.subway_surfers.vpr_app.zutatListViewController" | ||||
|             prefHeight="400.0" prefWidth="600.0" | ||||
|             stylesheets="@layout.css"> | ||||
|  | ||||
|     <CheckBox fx:id="isChecked" /> | ||||
|     <Label fx:id="nameLabel" text="placeholder" /> | ||||
|  | ||||
| </HBox> | ||||
		Reference in New Issue
	
	Block a user