Cerrar ultima imagen cuando se hayan visto todas

Quisiera lograr que cuando todas las imagenes se hayan visto y se esté visualizando la última, al acabar el tiempo se cierre todo. ¿qué le añado al codigo para alcanzar lo que busco?

let historyElements= [ 'imagen1','imagen2','imagen3'];  for (let i=0;i < historyElements.length; i++) {   setTimeout(openHistory,1000 * i,historyElements[i]); }  function openHistory(historyName) {   let x = document.getElementsByClassName("history");   for (let i = 0; i < x.length; i++) {     x[i].style.display = "none";     }   document.getElementById(historyName).style.display = "block";   }
body{ margin: 0; }
<img id="imagen1" class="history" src="https://www.wampstore.com/store/image/cache/data/Wamp/Products/Vallejo/Flat%20Red-900x900.jpg">  <img id="imagen2" class="history" src="https://cdn.shopify.com/s/files/1/1218/4290/products/Solid-129-Purple_1400x.jpg?v=1464824795">  <img id="imagen3" class="history" src="https://www.wampstore.com/store/image/cache/data/Wamp/Products/Vallejo/Deep%20Sky%20Blue-900x900.jpg">

¿Existe alguna función en java para registrar los parámetros de un SP cuando lo mando llamar?

Estoy haciendo la llamada de un sp que tiene los siguientes parámetros de entrada y salida. NOMBRE IN EDAD IN SEXO IN COLONIA IN ESTADO IN DADO_ALTA OUT

El problema es que no quiero declarar cada parámetro uno por uno ya que son muchos.¿Hay alguna función que permita obtener automáticamente todos los parámetros de entrada para no tener que declararlos uno por uno? Este es mi código

StoredProcedureQuery query = this.getEntityManager().createStoredProcedureQuery("NAME_SP")                 .registerStoredProcedureParameter(1, Class.class, ParameterMode.IN)                 .registerStoredProcedureParameter(2, Class.class, ParameterMode.IN)                 .registerStoredProcedureParameter(3, Class.class, ParameterMode.IN)                 .registerStoredProcedureParameter(4, Class.class, ParameterMode.IN)                 .registerStoredProcedureParameter(5, Class.class, ParameterMode.IN)                 .registerStoredProcedureParameter(6, Long.class,  ParameterMode.OUT);              query.execute(); 

Por qué cuando hago scroll en el TableView las imágenes hacen AutoSize y vuelven a su tamaño natural?

Cuando cargo la aplicación por primera vez se ven todas las imagenes del tableview de un mismo tamaño y sin problemas, de esta manera.

introducir la descripción de la imagen aquí

Pero cuando hago scroll sobre el tableview, las imagenes vuelven a su estado natural, no entiendo por qué ocurre esto… Quedan así. introducir la descripción de la imagen aquí

Este es el código donde agrego la imagen en CELL en el tableview

let reference = user?["Logo"] as? String ?? ""         let fileUrl = NSURL(string: reference)          let placeholderImage = #imageLiteral(resourceName: "negociophoto") //placeholder if wanted          cell.imageView?.sd_setImage(with: fileUrl as URL?, placeholderImage: placeholderImage)         cell.imageView?.layer.cornerRadius = 5         cell.imageView?.layer.borderWidth = 1.0         cell.imageView?.layer.borderColor = UIColor.gray.cgColor         cell.imageView?.layer.masksToBounds = true         cell.imageView?.frame = CGRect(x: 10,y: 0,width: 10,height: 10)         cell.imageView?.contentMode = UIView.ContentMode.scaleAspectFit 

Espero alguien sepa por qué ocurre esto, muchas gracias por todo.

Cuando utilizar ENUM y cuando crear una nueva tabla

Supongamos que quiero guardar el genero de una persona, sabiendo que estos valores serán limitados para mi aplicación y no mutarán en el tiempo con tanta frecuencia (por no decir nula)… Seria mejor aplicar el genero como un atributo ENUM o crear una nueva tabla para almacenarlos?

En temas de rendimiento, considerando que el genero deberé traerlo en muchas ocasiones ¿Que es más eficiente? ¿Enum o un join con otra tabla?

¿Hasta cuantos valores es aceptable tener en un campo ENUM?

Porque los carousel en NGX-BOOTSTRAP ocultan el titulo de cada imagen cuando el media queries es para un pantalla pequeña?

Cuando la pantalla es menor que 768px se pierden los textos de titulo y description:

First slide label

Nulla vitae elit libero, a pharetra augue mollis interdum.

Second slide label

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Third slide label

Praesent commodo cursus magna, vel scelerisque nisl consectetur.

Cambiar el BackColor de la Fila de un DataGridView cuando paso el mouse encima de dicha fila

Bendiciones para todos Uds. Tengo un Datagridview en el cual muestro el contenido de una tabla, pero quisiera que cuando paso mi mouse por encima de una fila, dicha fila cambie de color, similar a la clase table-hover de bootstrap… he intentado hacerlo de esta forma, pero no me funciona.

introducir la descripción de la imagen aquí

private void FrmCategoria_MouseHover(object sender, EventArgs e)   {     GridCategorias.RowHeadersDefaultCellStyle.BackColor = Color.BlueViolet;   } 

También he probado con estos otros eventos:

Evento MouseHover:

private void FrmCategoria_MouseHover(object sender, EventArgs e) {     GridCategorias.RowHeadersDefaultCellStyle.BackColor = Color.BlueViolet; } 

Evento MouseLeave:

private void FrmCategoria_MouseLeave(object sender, EventArgs e) {     GridCategorias.RowHeadersDefaultCellStyle.BackColor = Color.GreenYellow; } 

Quisiera que funcionara de la misma manera que funciona una tabla de bootstrap con la clase table-hover, solo que no se que es lo que no me funciona. (Los colores solo son una referencia)

introducir la descripción de la imagen aquí

agradezco de antemano la ayuda que me puedan brindar

Como mostrar una imagen en cierta clase, cuando presiono un boton de otra clase

El programa tiene 4 clases:

Main -> Se encarga solo de mostrar la clase Controller.

Controller -> contiene un boton (Entrar), el cual cambia de ventana a la clase Vista1Controller.

Vista1Controller -> contiene 4 imagenes introducir la descripción de la imagen aquí .Al presionar los engranajes(tuercas 1 y 2) muestra la ventana Formulario1 y Formulario2 respectivamente.

Formulario1 y Formulario2 -> Contienen dos botones (Volver y Guardar). Al hacer click en el boton guardar cambia de ventana a Vista1Controller y muestra la imagen (doble ticket verde) correspondiente al formulario.

Mi gran problema es que luego de guardar el primer formulario y aparecer la imagen correspondiente, guardo el formulario dos y el doble ticket del formulario 1 se borra. Necesito que al presionar guardar en el formulario2, la imagen del formulario 1 siga visible.

Mi Codigo:

Vista1Controller: `

@FXML private ImageView doubleTicket1; @FXML private ImageView doubleTicket2; @FXML private ImageView tuerca1; @FXML private ImageView tuerca2;     public void setDoubleTicket1Visible() {     doubleTicket1.setVisible(true); }  public void setDoubleTicket2Visible() {     if(doubleTicket1.isVisible()){         doubleTicket1.setVisible(true);     }     doubleTicket2.setVisible(true); }  public void setDoubleTicket3Visible() {     doubleTicket3.setVisible(true); }  @FXML private void initialize() {     // Add an action for the "Open Formulario1" button      tuerca1.setOnMouseClicked((event) -> {         try {             Parent vista1parent = FXMLLoader.load(getClass().getResource("/formulario1.fxml"));             Scene vista1Scene = new Scene(vista1parent);              Stage window = (Stage) ((Node) event.getSource()).getScene().getWindow();             window.setScene(vista1Scene);             window.show();         } catch (IOException e) {             e.printStackTrace();         }     });      tuerca2.setOnMouseClicked((event) -> {         try {             Parent vista2parent = FXMLLoader.load(getClass().getResource("/formulario2.fxml"));             Scene vista2Scene = new Scene(vista2parent);              Stage window = (Stage) ((Node) event.getSource()).getScene().getWindow();             window.setScene(vista2Scene);             window.show();         } catch (IOException e) {             e.printStackTrace();         }     }); } 

Formulario1:

@FXML Button buttonGuardarFormulario1;    public void changeSceneOnButtonVolverPressedF1(ActionEvent event) throws IOException {      Parent buttonparent = FXMLLoader.load(getClass().getResource("/vista1.fxml"));     Scene buttonScene = new Scene(buttonparent);      Stage window = (Stage) ((Node) event.getSource()).getScene().getWindow();     window.setScene(buttonScene);     window.show();  }   @FXML private void initialize() {          buttonGuardarFormulario1.setOnAction(event -> {             try {                  FXMLLoader loader = new FXMLLoader();                 loader.setLocation(getClass().getResource("/vista1.fxml"));                 Parent buttonparent = loader.load();                 Scene buttonScene = new Scene(buttonparent);                   Vista1Controller vista1Controller = loader.getController();                 //vista1Controller.setDoubleTicket1Visible();                 vista1Controller.setDoubleTicket1Visible();                   Stage window = (Stage) ((Node) event.getSource()).getScene().getWindow();                 window.setScene(buttonScene);                 window.show();             } catch (IOException e) {                 e.printStackTrace();             }         });      } 

Formulario2:

public void changeSceneOnButtonGuardarPressedF2(ActionEvent event) throws IOException {      FXMLLoader loader = new FXMLLoader();     loader.setLocation(getClass().getResource("/vista1.fxml"));     Parent buttonparent = loader.load();     Scene buttonScene = new Scene(buttonparent);      Vista1Controller vista1Controller = loader.getController();     vista1Controller.setDoubleTicket2Visible();      Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();     window.setScene(buttonScene);     window.show();    }  public void changeSceneOnButtonVolverPressedF2(ActionEvent event) throws IOException{      Parent buttonparent = FXMLLoader.load(getClass().getResource("/vista1.fxml"));     Scene buttonScene = new Scene(buttonparent);      Stage window = (Stage) ((Node) event.getSource()) .getScene() .getWindow();     window.setScene(buttonScene);     window.show();  } 

Alguna idea?

PD: Soy principiante en javafx

¿Un constructor pasa a ser parte del objeto cuando es llamado para la creación de este?

¿Un constructor pasa a ser parte del objeto cuando es llamado para la creación de este y por eso puede acceder a todos los miembros que están definidos en el ámbito de este objeto?

Se que el constructor sirve para crear la dirección en memoria en donde se guardara la información del objeto (atributos y métodos)

¿Se que el constructor es un método publico de la clase y por ello puede ser invocado desde cualquier parte. Pero es parte del objeto en si mismo?

¿por cada llamada al constructor se podría decir que ahora esa llamada al constructor es parte del objeto (de su ámbito el cual es la clase) y por ello puede acceder a todo el ámbito de la clase?(atributos y métodos)

como por ejemplo cuando dentro de el hacemos uso de los miembros del objeto actualmente creados para iniciarlos con valores específicos?

Ejemplo:

class Persona{ private String nombre; private String apellido; private int edad;  public Persona(){     nombre="Elliot";     apellido="Williamson";     edad=12;     imprimir_datos(); } 

}

Si no es así, ¿que hace que el constructor pueda acceder a los miembros del objeto actualmente creado?

Por que sale esta advertencia cuando cargo paquete?

quisiera saber que quiere decir esto, que significa, como lo puedo solucionar (si se puede) y si tiene alguna implicación en la utilización del paquete en r. Version 3.60 de r Gracias

`library(tidyverse) Registered S3 methods overwritten by 'ggplot2':   method         from    [.quosures     rlang   c.quosures     rlang   print.quosures rlang -- Attaching packages --------------------------------------- tidyverse  1.2.1 --`