variabile di istanza ad esempio:
non l'ho testato ovviamente.codice:import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; import javafx.scene.control.Button; import javafx.scene.control.PasswordField; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.scene.text.Font; import javafx.scene.text.FontWeight; import javafx.scene.text.Text; import javafx.stage.Stage; import javafx.scene.control.Label; import javafx.scene.control.TextField; public class AppLogin extends Application { private int contantore = 0; // sovrascrivo il metodo start @Override public void start(Stage primaryStage) { //nodo radice, con gridPane GridPane griglia = new GridPane(); griglia.setAlignment(Pos.CENTER); griglia.setHgap(10); griglia.setVgap(10); griglia.setPadding(new Insets(25, 25, 25, 25)); //definisco la scena, associandola alla istanza di gridpane Scene scena = new Scene(griglia, 350, 300); // associo la scena con il palcoscenico primaryStage.setScene(scena); //posiziono nella griglia etichette e campi di testo // crea testo Text sceneTitle = new Text("Benvenuto"); // definisce fonti caratteri sceneTitle.setFont(Font.font("Verdana", FontWeight.NORMAL, 22)); //aggiunge testo nella cella con indici (0,0) dove: (colonna,riga) //aggiunge offset griglia.add(sceneTitle, 0, 0, 2, 1); //crea etichetta nella cella con indici (0,1) Label userName = new Label("Nome Utente:"); griglia.add(userName, 0, 1); //crea un campo di testo nella cella con indici (1,1) TextField userTextField = new TextField(); griglia.add(userTextField, 1, 1); //crea campo password nella cella con indici (1,2) PasswordField pwBox = new PasswordField(); griglia.add(pwBox, 1, 2); // crea pulsante Button btn = new Button("Login"); //crea HBox e lo posizione e ci aggiunge il pulsante HBox hbBtn = new HBox(10); hbBtn.setAlignment(Pos.BOTTOM_RIGHT); hbBtn.getChildren().add(btn); //aggiunge tutto nella cella (1,4) griglia.add(hbBtn, 1, 4); //crea etichetta e la posiziona in cella (1,5) final Label actionTarget = new Label(""); griglia.add(actionTarget, 1, 5); //definisce azione pulsante confrontando password con "miaPassword" // se diversa o uguale comunica risultato su etichetta actiontarget btn.setOnAction((ActionEvent) -> { // FAI PRIMA IL CONTROLLO SUL CONTATORE if (!pwBox.getText().equals("miaPassword")) { actionTarget.setText("Password errata"); actionTarget.setTextFill(Color.DARKRED); // INCREMENTI CONTATORE } else { actionTarget.setText("Password corretta"); actionTarget.setTextFill(Color.DARKGREEN); // RESETTI IL CONTANTORE } pwBox.clear(); }); //definisce titolo finestra primaryStage.setTitle("LogIn"); primaryStage.show(); } public static void main(String[] args) { launch(args); }
ti ho messo solo i commenti.

Rispondi quotando