Janelas inteiramente customizadas do JavaFX?

Eu gostaria de ter um aplicativo onde eu tenha personalizado completamente a aparência da janela. Até agora eu aprendi que posso remover o material típico da janela com:

class Application extends javafx.application.Application {
  /**
   * Starts the application.
   *
   * @param stage
   */
  override def start(stage: Stage) {
    stage.initStyle(StageStyle.TRANSPARENT)

    // Load the main window view.
    val loader = new FXMLLoader()
    loader.setLocation(getClass.getResource("/com/myproj/application/MainWindow.fxml"))

    val root = loader.load().asInstanceOf[Parent]
    val scene: Scene = new Scene(root, Color.TRANSPARENT)

    stage.setScene(scene)
    stage.show()
  }
}

Tudo o mais funciona bem, exceto que a janela arrastando, clicando duas vezes para maximizar, arrastando para a borda superior da tela no Windows deve maximizar ativamente, etc. Os recursos nativos do Windows estão faltando completamente.

Posso, de alguma maneira, personalizar facilmente toda a aparência da janela sem perder todos esses recursos agradáveis.

Eu estou falando de algo como o Adobe Photoshop, que parece totalmente diferente, mas ainda mantém esses recursos (ou implementa-los no topo da sua interface do usuário manualmente).

Seria um começo se eu pudesse pelo menos implementar arrastando + botões de janela para iniciantes. Estou direcionando Linux, Mac e Windows aqui.

questionAnswers(2)

yourAnswerToTheQuestion