package sas.kacper.itemsapp; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import javax.xml.bind.DatatypeConverter; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.control.PasswordField; import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; import javafx.scene.control.ButtonType; import javafx.scene.layout.VBox; import javafx.scene.layout.HBox; import javafx.scene.Node; import javafx.scene.text.Text; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.stage.Stage; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.geometry.Pos; import sas.kacper.itemsapp.LoginAuthenticator; public class MainWindow extends Application { @Override public void start(Stage primaryStage) { VBox mainPane = new VBox(10); Image iLogo = new Image("file:java.png", true); ImageView ivLogo = new ImageView(); ivLogo.setImage(iLogo); Text lText = new Text("Nazwa użytkownika"); Text pText = new Text("Hasło"); TextField lField = new TextField(); PasswordField pField = new PasswordField(); Button bLogin = new Button("Log In!"); bLogin.setOnAction(new EventHandler() { @Override public void handle(ActionEvent e) { String userLogin="", userHash=""; userLogin = lField.getText(); try { MessageDigest crypt = MessageDigest.getInstance("MD5"); crypt.update((pField.getText()).getBytes()); userHash = (DatatypeConverter.printHexBinary(crypt.digest())).toLowerCase(); } catch(NoSuchAlgorithmException exc) { exc.printStackTrace(); } Alert aAlert = new Alert(AlertType.INFORMATION); ((Stage)aAlert.getDialogPane().getScene().getWindow()).getIcons().add(new Image("file:java.png")); aAlert.setContentText("Wszystko ok!"); aAlert.setTitle("Zalogowany!"); if(!(LoginAuthenticator.checkLogin(userLogin, userHash))) { aAlert.setAlertType(AlertType.ERROR); aAlert.setContentText("Coś poszło nie tak!"); aAlert.setTitle("Błąd"); } aAlert.setHeaderText(null); aAlert.showAndWait(); } }); lField.setMaxWidth(250); pField.setMaxWidth(250); lField.setAlignment(Pos.CENTER); pField.setAlignment(Pos.CENTER); mainPane.setAlignment(Pos.CENTER); mainPane.setStyle("-fx-background-color: #FFFFFF;"); mainPane.getChildren().addAll(ivLogo, new Text(), new Text(), lText, lField, pText, pField, new Text(), bLogin); Scene mainScene = new Scene(mainPane, 450, 600); primaryStage.setTitle("Log In!"); primaryStage.setResizable(false); primaryStage.setScene(mainScene); primaryStage.getIcons().add(new Image("file:java.png")); primaryStage.show(); } public static void main(String ... args) { launch(args); } }