private boolean validarVentana() { boolean validada = true; cambiarWarning(false); if (fieldNombre.getText().equals("")) { cambiarWarning(true); imagenWarning.setLayoutY(fieldNombre.getLayoutY()); textoWarning.setLayoutY(fieldNombre.getLayoutY() + 6f); imagenWarning.setLayoutX(fieldNombre.getLayoutX() + fieldNombre.getPrefWidth() + 4f); textoWarning.setLayoutX(imagenWarning.getLayoutX() + 27f); textoWarning.setText("Campo obligatorio"); validada = false; fieldNombre.requestFocus(); } if ((validada == true) & (comboTipoAgua.getSelectionModel().getSelectedIndex() == -1) & (tipoVentana == TipoVentana.NUEVO)) { cambiarWarning(true); imagenWarning.setLayoutY(comboTipoAgua.getLayoutY()); textoWarning.setLayoutY(comboTipoAgua.getLayoutY() + 6f); imagenWarning.setLayoutX(comboTipoAgua.getLayoutX() + comboTipoAgua.getPrefWidth() + 4f); textoWarning.setLayoutX(imagenWarning.getLayoutX() + 27f); textoWarning.setText("Seleccione un tipo de agua"); validada = false; comboTipoAgua.requestFocus(); } if (validada == true) { if (Utilidades.validarFlotante(fieldTemperaturaMinima.getText())) { if (Utilidades.validarFlotante(fieldTemperaturaMaxima.getText())) { if (Float.parseFloat(fieldTemperaturaMinima.getText()) > Float.parseFloat(fieldTemperaturaMaxima.getText())) { Utilidades.MensajeError( "Error de Temperatura", "La temperatura máxima ingresada es menor a la mínima."); fieldTemperaturaMinima.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor ingresado en temperatura máxima debe ser un número"); fieldTemperaturaMaxima.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor ingresado en temperatura mínima debe ser un número"); fieldTemperaturaMinima.requestFocus(); validada = false; } } if (validada == true) { if (Utilidades.validarFlotante(fieldGhMinimo.getText())) { if (Utilidades.validarFlotante(fieldGhMaximo.getText())) { if (Float.parseFloat(fieldGhMinimo.getText()) > Float.parseFloat(fieldGhMaximo.getText())) { Utilidades.MensajeError( "Error en parametro Gh", "El valor de Gh máxima ingresada es menor al mínimo."); fieldGhMinimo.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor de Gh máximo ingresado debe ser un número"); fieldGhMaximo.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor de Gh mínimo ingresado debe ser un número"); fieldGhMinimo.requestFocus(); validada = false; } } if (validada == true) { if (Utilidades.validarFlotante(fieldKhMinimo.getText())) { if (Utilidades.validarFlotante(fieldKhMaximo.getText())) { if (Float.parseFloat(fieldKhMinimo.getText()) > Float.parseFloat(fieldKhMaximo.getText())) { Utilidades.MensajeError( "Error en parametro Kh", "El valor de Kh máxima ingresada es menor al mínimo."); fieldKhMinimo.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor de Kh máximo ingresado debe ser un número"); fieldKhMaximo.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor de Kh mínimo ingresado debe ser un número"); fieldKhMinimo.requestFocus(); validada = false; } } if (validada == true) { if (Utilidades.validarFlotante(fieldPhMinimo.getText())) { if (Utilidades.validarFlotante(fieldPhMaximo.getText())) { if (Float.parseFloat(fieldPhMinimo.getText()) > Float.parseFloat(fieldPhMaximo.getText())) { Utilidades.MensajeError( "Error en parametro Ph", "El valor de Ph máxima ingresada es menor al mínimo."); fieldPhMinimo.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor de Ph máximo ingresado debe ser un número"); fieldPhMaximo.requestFocus(); validada = false; } } else { Utilidades.MensajeError( "Valor inválido", "El valor de Ph mínimo ingresado debe ser un número"); fieldPhMinimo.requestFocus(); validada = false; } } if (tipoVentana == TipoVentana.NUEVO) { if (Sistema.getSistema().especieExiste(fieldNombre.getText())) { cambiarWarning(true); imagenWarning.setLayoutY(fieldNombre.getLayoutY()); textoWarning.setLayoutY(fieldNombre.getLayoutY() + 6f); imagenWarning.setLayoutX(fieldNombre.getLayoutX() + fieldNombre.getPrefWidth() + 4f); textoWarning.setLayoutX(imagenWarning.getLayoutX() + 27f); textoWarning.setText("Nombre ya utilizado"); validada = false; Utilidades.MensajeError( "Nombre inválido", "El nombre de la especie ya se encuentra utilizado"); fieldNombre.requestFocus(); } } return validada; }
@Override protected double computeMinWidth(double height) { return Math.max(getDefaultPrefWidth(), textField.getPrefWidth()); }
@Override public void start(Stage stage) { LoginFX.stage = stage; stage.setTitle("SGAP - Login"); pane = new Pane(); pane.setPrefSize(400, 120); pane.setStyle( "-fx-background-color:linear-gradient(from 0% 0% to 100% 100%, silver 0%, gold 100%);"); tfLogin = new TextField(); tfLogin.setPromptText("Digite aqui seu login"); tfLogin.setPrefSize(200, tfLogin.getFont().getSize()); tfSenha = new PasswordField(); tfSenha.setPromptText("Digite aqui a senha"); tfSenha.setPrefSize(200, tfSenha.getFont().getSize()); tfSenha.setOnKeyPressed( new EventHandler<KeyEvent>() { @Override public void handle(KeyEvent event) { if (event.getCode() == KeyCode.ENTER) { botaoLogar(); } } }); bEntrar = new Button("Entrar"); bEntrar.setPrefSize(100, bEntrar.getFont().getSize() + 5); bEntrar.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { botaoLogar(); } }); bSair = new Button("Sair"); bSair.setPrefSize(100, bSair.getFont().getSize() + 5); bSair.setOnAction( new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { botaoSair(); } }); tfLogin.setLayoutX( (pane.getPrefWidth() - 1.5 * bEntrar.getPrefWidth() - tfLogin.getPrefWidth()) / 2); tfSenha.setLayoutX( (pane.getPrefWidth() - 1.5 * bEntrar.getPrefWidth() - tfLogin.getPrefWidth()) / 2); bEntrar.setLayoutX( (pane.getPrefWidth() + 3.5 * bEntrar.getPrefWidth() - tfLogin.getPrefWidth()) / 2); bSair.setLayoutX( (pane.getPrefWidth() + 3.5 * bEntrar.getPrefWidth() - tfLogin.getPrefWidth()) / 2); tfLogin.setLayoutY((pane.getPrefHeight() - tfLogin.getPrefHeight()) / 2 - 20); tfSenha.setLayoutY((pane.getPrefHeight() - tfLogin.getPrefHeight()) / 2 + 20); bEntrar.setLayoutY((pane.getPrefHeight() - tfLogin.getPrefHeight()) / 2 - 20); bSair.setLayoutY((pane.getPrefHeight() - tfLogin.getPrefHeight()) / 2 + 20); pane.getChildren().addAll(tfLogin, tfSenha, bEntrar, bSair); Scene cena = new Scene(pane); stage.setScene(cena); stage.show(); }