Entrada destacada

Como dar estilo a un Scroll Pane de JavaFX utilizando CSS

Imagen
Bien en esta ocasión quiero compartir como darle estilo a un scroll pane de JavaFx, por lo que colocaré el código con las clases que se pueden utilizar para cambiar el aspecto de los objetos o nodos que componen la interfaz del contenedor. El Scroll pane está compuesto por los siguientes nodos u objetos: Scroll-bar: Vertical (.scroll-bar:vertical)/Horizontal(.scroll-bar:horizontal): Se refiere a la barra que se muestra para poder realizar el scroll de forma vertical u horizontal. Esta a su vez está compuesta por los siguientes nodos: Increment-button: Este es el botón que se muestra en la scroll-bar para poder realizar el scroll hacia abajo o incrementar la posición del scroll. Este nodo a su vez contiene el siguien...

Excepciones al utilizar HTMLEditor de JavaFx

Hace unos días estaba intentado utilizar el editor HTML que proporciona JavaFX en un proyecto el cual lo estoy desarrollando en intellij idea, sin embargo, cuando intente correr el código me lanzo algunas excepciones entre ella una classNotFoundException en donde me indicaba que la clase HTMLEditor no se encontraba, para solucionar esa excepción tuve que colocar en el archivo POM la dependencia de JavaFx Web.

Luego al intentar correr nuevamente el código me lanzo una nueva excepción: class javafx.scene.web.HTMLEditor (in unnamed module @0x342c9752) cannot access class com.sun.javafx.scene.control.ControlHelper (in module javafx.controls) because module javafx.controls does not export com.sun.javafx.scene.control to unnamed module @0x342c9752. Busque en san Google, pero la mayor parte de las soluciones que brindaban era incluir en la VM Options el módulo de JavaFx, pero esta solución es correcta tomando en consideración que el proyecto en el que se está trabajando no tiene las dependencias en el class path, en mi caso no aplicaba ya que mi proyecto utiliza Maven. Al final la solución fue realmente sencilla.

Para poder solucionar la excepción tuve que incluir en mi module-info la siguiente línea

requires javafx.web; y con esto se solucionó la excepción que lanzaba a la hora de correr el código.

En mi archivo POM las dependencias necesarias para trabajar con los controles y web de JavaFX quedó de la siguiente forma:

  1. <dependency>
  2. <groupId>org.openjfx</groupId>
  3. <artifactId>javafx-controls</artifactId>
  4. <version>18.0.1</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.openjfx</groupId>
  8. <artifactId>javafx-fxml</artifactId>
  9. <version>18.0.1</version>
  10. </dependency>
  11. <!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
  12. <dependency>
  13. <groupId>org.openjfx</groupId>
  14. <artifactId>javafx-web</artifactId>
  15. <version>18.0.1</version>
  16. </dependency>
  17.  





Y el archivo module-info.java quedó con las siguientes líneas:

  1. module com.test {
  2. requires javafx.controls;
  3. requires javafx.fxml;
  4. requires javafx.web;
  5. opens com.test.views to javafx.fxml;
  6. opens com.test.controllers;
  7. exports com.test;
  8. exports com.test.controllers;
  9. }
  10.  

Comentarios

Entradas populares

Barra de menu con estilo en JavaFX utilizando CSS

Como dar estilo a un Scroll Pane de JavaFX utilizando CSS