Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // En la clase de configuración de Hibernate
- private static String user = "root", pass = "123456";
- public static synchronized void buildSessionFactory() {
- Configuration configuration = new Configuration();
- configuration.configure();
- configuration.setProperty("hibernate.current_session_context_class", "thread");
- configuration.getProperties().setProperty("hibernate.connection.username", user);
- configuration.getProperties().setProperty("hibernate.connection.password", pass);
- ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
- sessionFactory = configuration.buildSessionFactory(serviceRegistry);
- }
- public static void setUser(String user) {
- HibernateUtil.user = user;
- }
- public static void setPass(String pass) {
- HibernateUtil.pass = pass;
- }
- // En la clase controlador de la vista:
- public void configurarBD() {
- // Creamos el diálogo
- Dialog<Pair<String, String>> dialog = new Dialog<>();
- dialog.setTitle("Datos de conexión");
- dialog.setHeaderText("Introduce las credenciales de la base de datos");
- // Añadimos los botones
- ButtonType loginButtonType = new ButtonType("Confirmar", ButtonData.OK_DONE);
- dialog.getDialogPane().getButtonTypes().addAll(loginButtonType, ButtonType.CANCEL);
- // Creamos los campos de entrada y texto
- GridPane grid = new GridPane();
- grid.setHgap(10);
- grid.setVgap(10);
- grid.setPadding(new Insets(20, 150, 10, 10));
- TextField username = new TextField();
- username.setPromptText("Usuario");
- PasswordField password = new PasswordField();
- password.setPromptText("Contraseña");
- grid.add(new Label("Usuario:"), 0, 0);
- grid.add(username, 1, 0);
- grid.add(new Label("Contraseña:"), 0, 1);
- grid.add(password, 1, 1);
- // Activar y desactivar el boton de login
- Node loginButton = dialog.getDialogPane().lookupButton(loginButtonType);
- loginButton.setDisable(true);
- // Validación de campo vacío
- username.textProperty().addListener((observable, oldValue, newValue) -> {
- loginButton.setDisable(newValue.trim().isEmpty());
- });
- dialog.getDialogPane().setContent(grid);
- // Focus para que sea agradable visualmente
- Platform.runLater(() -> username.requestFocus());
- // Actualizamos credenciales en hibernate
- dialog.setResultConverter(dialogButton -> {
- HibernateUtil.setUser(username.getText());
- HibernateUtil.setPass(password.getText());
- HibernateUtil.buildSessionFactory();
- return null;
- });
- dialog.showAndWait();
- }
Add Comment
Please, Sign In to add comment