По моему, ни здесь никакие swing-awt-javafx вообще не нужны!
Делается стандартное (spa?) frontend приложение на javascript, typescript, react, vue, angular (далее везде) :)))
В качестве backend можно и spring использовать или vertx. А можно и nodejs, ruby, php, python, go.... :)
Врачу - браузер и урл, куда ходить.
Если же на яве хотите, смотрите на wicklets.
Около явы: clojure/clojuresctipt (и фронт и бек), groovy, scala...
Всякие чатики приделываются рядом отдельными приложениями, их сотни, от rabbitmq, до mosqute.