This is a school OOP project using javafx made with eclipse, I'm trying to remake processing's functionment with javafx.
The auto (compile/run) only works on windows for now
It can currently run really simple 2D processing sketch without much work.
For this to work, you need to copy your processing's Sketch folder and then change the extension to .pjfx
.
Finally you have to change the following:
int(x)
->_int(x)
float(x)
->_float(x)
float g = 12.6
->float g = 12.6f
- Add public keyword to the following function
- setup()
- draw()
- mousePressed()
- mouseReleased()
- mouseDragged()
- mouseMoved()
- keyPressed()
- keyReleased()
- keyTyped()
Move to the correct directory
cd ProcessJFX
Only once
Compile the ProssecFX with the following lines.
(windows)
javac -cp ".\bin\;libs\com\json.jar:libs\window\javafx\lib" --module-path .\libs\window\javafx\lib -d bin --add-modules javafx.controls, src/engine/Core.java
javac -cp ".\bin\;libs\com\json.jar:libs\window\javafx\lib" --module-path .\libs\window\javafx\lib --add-modules javafx.controls, preCompiler/precompiler/PreCompiler.java
javac -cp ".\bin\;libs\com\json.jar:libs\window\javafx\lib" --module-path .\libs\window\javafx\lib -d bin --add-modules javafx.controls, preCompiler/precompiler/PreCompiler.java
(linux)
javac -cp "bin/:libs/com/json.jar:libs/linux/javafx/lib" --module-path libs/linux/javafx/lib -d bin --add-modules javafx.controls, src/engine/Core.java
javac -cp "bin/:libs/com/json.jar:libs/linux/javafx/lib" --module-path libs/linux/javafx/lib --add-modules javafx.controls, preCompiler/precompiler/PreCompiler.java
javac -cp "bin/:libs/com/json.jar:libs/linux/javafx/lib" --module-path libs/linux/javafx/lib -d bin --add-modules javafx.controls, preCompiler/precompiler/PreCompiler.java
To Run your code you need to follow these 3 step:
-
For a project called MySketch inside the default sketchBook directory.
- The sketchBook is the parent directory of your sketch folder.
- MySketch is the Name of the directory where all your .pjfx files for a project are stored.
(windows)
java -cp ".\bin\;libs\com\json.jar:libs\window\javafx\lib" --module-path .\libs\window\javafx\lib --add-modules javafx.controls, precompiler.PreCompiler --project-name MySketch
(linux)
java -cp "bin/:libs/com/json.jar:libs/linux/javafx/lib" --module-path libs/linux/javafx/lib --add-modules javafx.controls, precompiler.PreCompiler --project-name MySketch
-
For a project called MySketch not in the default sketchBook directory.
(windows)
java -cp ".\bin\;libs\com\json.jar:libs\window\javafx\lib" --module-path .\libs\window\javafx\lib --add-modules javafx.controls, precompiler.PreCompiler --project-name MySketch --project-path \path\to\the\other\sketchBook
(linux)
java -cp "bin/:libs/com/json.jar:libs/linux/javafx/lib" --module-path libs/linux/javafx/lib --add-modules javafx.controls, precompiler.PreCompiler --project-name MySketch --project-path /path/to/the/other/sketchBook
- Compile your project with
(windows)
javac -cp ".\bin\;libs\com\json.jar:libs\window\javafx\lib" --module-path .\libs\window\javafx\lib -d bin --add-modules javafx.controls, .\src\sketch\template\__UserDefault.java
(linux)
javac -cp "bin/:libs/com/json.jar:libs/linux/javafx/lib" --module-path libs/linux/javafx/lib -d bin --add-modules javafx.controls, src/sketch/template/__UserDefault.java
- Run your project with
(windows)
java -cp ".\bin\;libs\com\json.jar:libs\window\javafx\lib" --module-path .\libs\window\javafx\lib --add-modules javafx.controls, engine.Core
(linux)
java -cp "bin/:libs/com/json.jar:libs/linux/javafx/lib" --module-path libs/linux/javafx/lib --add-modules javafx.controls, engine.Core
- Move to project directory
java -cp .\bin compiler.Projfx SketchFolderName
To specify the directory in wich your sketch forlder is located add the absolute path from the parent directory of the sketch as second argument.
java -cp .\bin compiler.Projfx SketchFolderName AbsolutePathToSketchParentFolder