singup mit Datebase verbunden und new Adresse

This commit is contained in:
Reshad Meher 2023-02-01 09:48:55 +01:00
parent 329acaabcb
commit b15b94e579
8 changed files with 205 additions and 131 deletions

View File

@ -1,34 +0,0 @@
package com.bib.essensbestellungsverwaltung;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
public class HelloController {
/**
* @autor: Reshad Meher
* Username, Passwort , login
*/
@FXML
private TextField unsernameEingabe;
@FXML
private TextField passwortEingabe;
@FXML
private Label lblAusgabe;
@FXML
protected void onLoginButtonClick() {
String benutzerEingabe = unsernameEingabe.getText();
String kennwortEingabe = passwortEingabe.getText();
if(benutzerEingabe.contains("Reshad") && kennwortEingabe.contains("test123")){
lblAusgabe.setText("Herzlich Willkommen, " + benutzerEingabe + "!");
}else {
Alert alert = new Alert(Alert.AlertType.ERROR,
"Die Benutzername oder Passwort ist falsch");
alert.showAndWait();
}
unsernameEingabe.setText("");
passwortEingabe.setText("");
}
}

View File

@ -1,4 +1,4 @@
/*Richard Reiswich*/ /*Reshad Meher*/
package com.bib.essensbestellungsverwaltung; package com.bib.essensbestellungsverwaltung;
import javafx.fxml.FXML; import javafx.fxml.FXML;
@ -7,10 +7,8 @@ import javafx.scene.Scene;
import javafx.scene.control.Alert; import javafx.scene.control.Alert;
import javafx.scene.control.PasswordField; import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;
import javafx.stage.Stage;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
public class LoginController { public class LoginController {
@FXML @FXML
@ -18,36 +16,27 @@ public class LoginController {
@FXML @FXML
private PasswordField pfPassword; private PasswordField pfPassword;
HashMap<String,String> benutzerMap = new HashMap<String,String>();
@FXML @FXML
protected void onBtLoginClick() throws IOException { protected void onBtLoginClick() throws IOException {
benutzerMap.put("Reshad","1234");
String email = tfEmail.getText(); String email = tfEmail.getText();
String password = pfPassword.getText(); String password = pfPassword.getText();
if(benutzerMap.containsKey(email) && benutzerMap.containsValue(password)){ long loginPruefen = AccountMgr.login(email,password);
if(loginPruefen > 0){
FXMLLoader fxmlLoader = new FXMLLoader(StartViewApplication.class.getResource("menue-view.fxml")); FXMLLoader fxmlLoader = new FXMLLoader(StartViewApplication.class.getResource("menue-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 950,480); Scene scene = new Scene(fxmlLoader.load(), 950,480);
Stage stage = new Stage(); StartViewApplication.primary.setScene(scene);
stage.setTitle("Essen Bestellung im Kindergarten");
stage.setScene(scene);
stage.show();
}else { }else {
Alert alert = new Alert(Alert.AlertType.ERROR,"Email oder Passwort ist falsch"); Alert alert = new Alert(Alert.AlertType.ERROR,"Email oder Passwort ist falsch");
alert.showAndWait(); alert.showAndWait();
} }
tfEmail.setText(""); tfEmail.setText("");
pfPassword.setText(""); pfPassword.setText("");
} }
@FXML @FXML
protected void changeToSignUp() throws IOException { protected void onBtSingnupClick() throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(StartViewApplication.class.getResource("signUp-view.fxml")); FXMLLoader fxmlLoader = new FXMLLoader(StartViewApplication.class.getResource("signUp-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 950,480); Scene scene = new Scene(fxmlLoader.load(), 950,480);
Stage stage = new Stage(); StartViewApplication.primary.setScene(scene);
stage.setTitle("Essen Bestellung im Kindergarten");
stage.setScene(scene);
stage.show();
} }
} }

View File

@ -1,12 +0,0 @@
package com.bib.essensbestellungsverwaltung;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import java.io.IOException;
import java.util.Objects;
public class SceneController {
}

View File

@ -0,0 +1,100 @@
/**
* @autor: Reshad Meher
*/
package com.bib.essensbestellungsverwaltung;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.PasswordField;
import javafx.scene.control.TextField;
import java.io.IOException;
import java.util.HashMap;
public class SingUpController {
@FXML
private TextField tfName;
@FXML
private TextField tfVorname;
@FXML
private TextField tfEmail;
@FXML
private PasswordField pfPasswort;
@FXML
private TextField tfPLZ;
@FXML
private TextField tfStadt;
@FXML
private TextField tfStrasse;
@FXML
private TextField tfHausnummer;
@FXML
private void onKontoErstellenBtClick(){
String name = tfName.getText();
String vorname = tfVorname.getText();
String email = tfEmail.getText();
String passwort = pfPasswort.getText();
String plz = tfPLZ.getText();
String stadt = tfStadt.getText();
String strasse = tfStrasse.getText();
String hausnummer = tfHausnummer.getText();
Alert alert;
if(name.isEmpty() || vorname.isEmpty() || email.isEmpty() || passwort.isEmpty() || plz.isEmpty() ||
stadt.isEmpty() || strasse.isEmpty() || hausnummer.isEmpty()){
if(name.isEmpty()){
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'Name' ist leer.");
alert.showAndWait();
} else if (vorname.isEmpty()) {
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'Vorname' ist leer.");
alert.showAndWait();
} else if (email.isEmpty()) {
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'E-Mail' ist leer.");
alert.showAndWait();
} else if (passwort.isEmpty()) {
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'Passwort' ist leer.");
alert.showAndWait();
} else if (plz.isEmpty()) {
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'Postleitzahl' ist leer.");
alert.showAndWait();
} else if (stadt.isEmpty()) {
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'Stadt' ist leer.");
alert.showAndWait();
} else if (strasse.isEmpty()) {
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'Straße' ist leer.");
alert.showAndWait();
}else {
alert = new Alert(Alert.AlertType.ERROR," Die Eingabefeld 'Hausnummer' ist leer.");
alert.showAndWait();
}
}else {
Address newAdresse = new Address(strasse,hausnummer,plz,stadt);
User newUser = new User(name,vorname,passwort,email,newAdresse);
long creatNewUser = AccountMgr.createUser(newUser);
if (creatNewUser > 0){
alert = new Alert(Alert.AlertType.CONFIRMATION,"Ihrer Daten wurde gespeichert.");
alert.showAndWait();
}
tfName.setText("");
tfVorname.setText("");
tfEmail.setText("");
pfPasswort.setText("");
tfPLZ.setText("");
tfStadt.setText("");
tfStrasse.setText("");
tfHausnummer.setText("");
}
}
@FXML
private void onAnmeldenBtClick() throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(StartViewApplication.class.getResource("login-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 950,480);
StartViewApplication.primary.setScene(scene);
}
}

View File

@ -1,4 +0,0 @@
package com.bib.essensbestellungsverwaltung;
public class StartPageController {
}

View File

@ -18,12 +18,10 @@ public class StartViewApplication extends Application {
public void start(Stage stage) throws IOException { public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(StartViewApplication.class.getResource("login-view.fxml")); FXMLLoader fxmlLoader = new FXMLLoader(StartViewApplication.class.getResource("login-view.fxml"));
Scene scene = new Scene(fxmlLoader.load(), 950,480); Scene scene = new Scene(fxmlLoader.load(), 950,480);
//stage = primary; primary = stage;
stage.setTitle("Essen Bestellung im Kindergarten"); stage.setTitle("Essen Bestellung im Kindergarten");
stage.setScene(scene); stage.setScene(scene);
stage.show(); stage.show();
} }
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -56,7 +56,7 @@
<font> <font>
<Font name="Microsoft Tai Le Bold" size="12.0" /> <Font name="Microsoft Tai Le Bold" size="12.0" />
</font></Button> </font></Button>
<Button id="btSignUp" mnemonicParsing="false" prefHeight="25.0" prefWidth="101.0" style="-fx-background-color: tranparent;" text="Sign up" textFill="#7c7b7b" underline="true" onAction="#changeToSignUp" /> <Button id="btSignUp" mnemonicParsing="false" prefHeight="25.0" prefWidth="101.0" style="-fx-background-color: tranparent;" text="Sign up" textFill="#7c7b7b" underline="true" onAction="#onBtSingnupClick" />
</children> </children>
</HBox> </HBox>
</children> </children>

View File

@ -29,72 +29,109 @@
<Circle fill="#67b5ff2e" layoutX="-23.0" layoutY="368.0" radius="100.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" /> <Circle fill="#67b5ff2e" layoutX="-23.0" layoutY="368.0" radius="100.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" />
<Circle fill="#69b6ffb0" layoutX="235.0" layoutY="310.0" radius="158.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" /> <Circle fill="#69b6ffb0" layoutX="235.0" layoutY="310.0" radius="158.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" />
<Circle fill="#93c4f23d" layoutY="258.0" radius="106.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" /> <Circle fill="#93c4f23d" layoutY="258.0" radius="106.0" stroke="BLACK" strokeType="INSIDE" strokeWidth="0.0" />
<VBox alignment="CENTER" layoutX="263.0" prefHeight="400.0" prefWidth="338.0" style="-fx-background-color: white;"> <VBox layoutX="262.0" prefHeight="400.0" prefWidth="364.0" style="-fx-background-color: white;">
<children> <children>
<TextField promptText="Email" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;" fx:id="tfEmail"> <TextField fx:id="tfName" alignment="TOP_LEFT" prefHeight="26.0" prefWidth="282.0" promptText="Name" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
<effect> <effect>
<Blend /> <Blend />
</effect> </effect>
<font> <font>
<Font name="Microsoft Tai Le Bold" size="12.0" /> <Font name="Microsoft Tai Le Bold" size="12.0" />
</font> </font>
<VBox.margin> <VBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</VBox.margin> </VBox.margin>
</TextField> </TextField>
<TextField promptText="Email bestätigen" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;" fx:id="tfBestätigungEmail"> <TextField fx:id="tfVorname" promptText="Vorname" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
<effect> <effect>
<Blend /> <Blend />
</effect> </effect>
<font> <font>
<Font name="Microsoft Tai Le Bold" size="12.0" /> <Font name="Microsoft Tai Le Bold" size="12.0" />
</font> </font>
<VBox.margin> <VBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</VBox.margin> </VBox.margin>
</TextField> </TextField>
<PasswordField promptText="Passwort" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;" fx:id="pfPasswort"> <TextField fx:id="tfEmail" promptText="Email" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
<font> <effect>
<Font name="Microsoft Tai Le Bold" size="12.0" /> <Blend />
</font> </effect>
<opaqueInsets> <font>
<Insets /> <Font name="Microsoft Tai Le Bold" size="12.0" />
</opaqueInsets> </font>
<effect> <VBox.margin>
<Blend /> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</effect> </VBox.margin>
<VBox.margin> </TextField>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> <PasswordField fx:id="pfPasswort" accessibleRole="TEXT_FIELD" promptText="Passwort" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
</VBox.margin> <font>
</PasswordField> <Font name="Microsoft Tai Le Bold" size="12.0" />
<PasswordField promptText="Passwort bestätigen" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;" fx:id="pfBestätigungPassowrt"> </font>
<font> <opaqueInsets>
<Font name="Microsoft Tai Le Bold" size="12.0" /> <Insets />
</font> </opaqueInsets>
<opaqueInsets> <effect>
<Insets /> <Blend />
</opaqueInsets> </effect>
<effect> <VBox.margin>
<Blend /> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</effect> </VBox.margin>
<VBox.margin> </PasswordField>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> <HBox prefHeight="100.0" prefWidth="200.0">
</VBox.margin> <children>
</PasswordField> <TextField fx:id="tfPLZ" prefHeight="35.0" prefWidth="92.0" promptText="PLZ" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
<HBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</HBox.margin>
<font>
<Font name="Microsoft Tai Le Bold" size="12.0" />
</font>
</TextField>
<TextField fx:id="tfStadt" prefHeight="35.0" prefWidth="182.0" promptText="Stadt" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
<HBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</HBox.margin>
<font>
<Font name="Microsoft Tai Le Bold" size="12.0" />
</font>
</TextField>
</children>
</HBox>
<HBox prefHeight="100.0" prefWidth="200.0">
<children>
<TextField fx:id="tfStrasse" prefHeight="27.0" prefWidth="134.0" promptText="Straße" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
<HBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</HBox.margin>
<font>
<Font name="Microsoft Tai Le Bold" size="12.0" />
</font>
</TextField>
<TextField fx:id="tfHausnummer" prefHeight="27.0" prefWidth="99.0" promptText="Hausnummer" style="-fx-background-color: transparent; -fx-border-color: lightgray; -fx-border-width: 0 0 1 0;">
<HBox.margin>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</HBox.margin>
<font>
<Font name="Microsoft Tai Le Bold" size="12.0" />
</font>
</TextField>
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="30.0" prefWidth="238.0"> <HBox alignment="CENTER" prefHeight="30.0" prefWidth="238.0">
<children> <children>
<Button mnemonicParsing="false" prefHeight="25.0" prefWidth="106.0" style="-fx-background-radius: 25; -fx-background-color: lightblue;" text="Konto erstellen" textFill="WHITE" onAction="#onKontoErstellenBtClick"> <Button mnemonicParsing="false" onAction="#onKontoErstellenBtClick" prefHeight="25.0" prefWidth="106.0" style="-fx-background-radius: 25; -fx-background-color: lightblue;" text="Konto erstellen" textFill="WHITE">
<font> <font>
<Font name="Microsoft Tai Le Bold" size="12.0" /> <Font name="Microsoft Tai Le Bold" size="12.0" />
</font></Button> </font></Button>
<Button id="btSignUp" mnemonicParsing="false" prefHeight="25.0" prefWidth="101.0" style="-fx-background-color: tranparent;" text="Anmelden" textFill="#7c7b7b" underline="true" onAction="#onAnmeldenBtClick"/> <Button id="btSignUp" mnemonicParsing="false" onAction="#onAnmeldenBtClick" prefHeight="25.0" prefWidth="101.0" style="-fx-background-color: tranparent;" text="Anmelden" textFill="#7c7b7b" underline="true" />
</children> </children>
<opaqueInsets> <opaqueInsets>
<Insets top="15.0" /> <Insets top="15.0" />
</opaqueInsets> </opaqueInsets>
<VBox.margin> <VBox.margin>
<Insets top="15.0" /> <Insets top="15.0" />
</VBox.margin> </VBox.margin>
</HBox> </HBox>
</children> </children>
<padding> <padding>