I would suggest just setting up an existing JavaFX HTMLEditor if it does most of the things you need, except for adding images and appearance, basically this is fine for you.
I created a code sample to help with some JavaFX HTMLEditor configuration tasks.
Another option with which you could play a very simple html editor is a WebView with contenteditable set to true. Although I have not tried this with images - perhaps it will work fine.
If the above options don't work for you, there are heaps of javascript based editors there.
source
share