El tutorial o código que verás en este post es la resolución más eficiente y efectiva que encontramos a esta inquietud o problema.
Solución:
No hay nada que convertir.
No creo que haya ninguna diferencia en Idea entre un proyecto Java “normal” y un proyecto JavaFX.
Claro, en Idea 12.x+ hay un asistente que puede usar para crear un nuevo proyecto JavaFX. Pero creo que todo lo que hace es crear una aplicación hello world de muestra: después de la creación inicial, la forma en que funciona el proyecto no es diferente a cualquier otro proyecto Java.
Y así es como debe ser, JavaFX es solo Java. Oracle no diferencia entre JavaFX y Java en su distribución, y tampoco los IDE en sus tipos de proyectos.
Creo, en este caso, que aunque me equivoque, tengo la razón suficiente como para que realmente no importe si me equivoco.
Actualizar
Así que estaba lo suficientemente equivocado como para que importe 🙂
Usando Idea 13.1.4, si creo un nuevo proyecto usando File | New Project | Java
existen las siguientes configuraciones de recursos (File | Settings | Compiler
):
?*.properties;?*.xml;?*.gif;?*.png;?*.jpeg;?*.jpg;?*.html;?*.dtd;?*.tld;?*.ftl
Es decir, los recursos para el proyecto están configurados para copiar solo tipos de archivos específicos. Por lo tanto, puede modificarlo para obtener los tipos de archivos adicionales requeridos en algunos proyectos JavaFX agregando soporte de copia de recursos para fxml y css; es decir, añadiendo ;?*.fxml;?*.css
.
La parte interesante es que si creas un nuevo proyecto usando File | New Project | JavaFX
existen las siguientes configuraciones de recursos:
!?*.java;!?*.form;!?*.class;!?*.groovy;!?*.scala;!?*.flex;!?*.kt;!?*.clj
Esencialmente, está copiando todo lo que no es un archivo fuente, una especie de conjunto de listas negras de archivos en lugar de un conjunto de listas blancas de archivos como lo usan otras plantillas de creación de proyectos. Realmente extraño… De todos modos, los conjuntos de recursos son configurables por el usuario, por lo que puede modificarlos como mejor le parezca y una vez que lo haga, no debería tener ningún problema (creo, pero me he equivocado antes 😉
Sugerencia: use herramientas de compilación de terceros junto con su IDE
Es mejor que base su compilación en una herramienta de terceros, como Gradle o Maven. Idea funciona muy bien con estas dos herramientas de compilación externas (y otras). Las ventajas de usar una herramienta de terceros son:
- Los proyectos con esas herramientas siguen una convención en la que los recursos se colocan en una carpeta de recursos específica y todo lo que hay en esa carpeta se trata como un recurso que se empaquetará en el resultado de la compilación. Así que hay menos confusión allí.
- Los proyectos resultantes son más portátiles y fáciles de usar por otros desarrolladores que pueden no estar usando Idea.
- Los proyectos se pueden construir fácilmente mediante sistemas de construcción de integración continua como Jenkins.
- Tanto Gradle como Maven tienen complementos específicos de JavaFX que brindan soporte adicional para empaquetar aplicaciones JavaFX.
Por supuesto, la desventaja de usar una herramienta de compilación de terceros es la complejidad (y muchas peculiaridades) de aprenderlas, ya que a veces pueden ser bastante increíbles. Así que creo que es un poco una compensación: los proyectos exploratorios personales pequeños no los necesitan, los proyectos más grandes o los proyectos que pretende compartir con otros se benefician del uso de tales herramientas.