Necesitamos que el texto "En virtud de la ley de sanidad se informa a los clientes de que solo podrán fumar en las habitaciones reservadas para tal fin" se muestre cuando se encuentre activado el checkBox asociado al valor Fumador.
Para ello, tenemos que seguir los siguientes pasos:
1-. Modificar el fichero FXMLDocumentController.java
: insertaremos el siguiente código:
Antes de la definición del método initialize, deberemos de declarar la instrucción:
@FXML private CheckBox checkBox;
@FXML private Label labelAviso;
Añadiremos el siguiente método justo después de la declaración del método initialize(...):
public void handleCheckBox(){
if (checkBox.isSelected()){
//etiqueta será visible
labelAviso.setVisible(true);
}else{
labelAviso.setVisible(false);
}
}
Modificaremos el arranque de la aplicación para que se oculte la etiqueta al iniciar la aplicación. Para ello, escribiremos dentro del método public void initialize(URL url, ResourceBundle rb) la instrucción:
labelAviso.setVisible(false);
2-. Accederemos a Scene Builder para modificar el fichero FXMLDocument:
Seleccionamos del checkbox asociado a Fumador y el panel code (parte derecha), seleccionamos la opción fx:ide para seleccionar en el despegable el valor checkBox. Además, seleccionaremos el apartado on Action para indicar handleCheckBox.
Seleccionar la etiqueta asociada al texto que deseamos mostrar y ocultar para asignarle en el panel code, la propiedad fx:ide igual a labelAviso (debe de aparecer en el despegable).