Całkowicie dostosowane okna JavaFX?

Chciałbym mieć aplikację, w której całkowicie dostosowałem wygląd okna. Jak dotąd dowiedziałem się, że mogę usunąć typowe elementy okna za pomocą:

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()
  }
}

Wszystko inne działa dobrze, z wyjątkiem tego, że przeciąganie okien, dwukrotne kliknięcie, aby zmaksymalizować, przeciąganie do ekranu górnej krawędzi w systemie Windows powinno aktywować maksymalizację, itp. Brakuje całkowicie możliwości natywnego okna.

Czy mogę jakoś łatwo dostosować cały wygląd okna bez utraty wszystkich tych przyjemnych możliwości.

Mówię o czymś takim jak Adobe Photoshop, który wygląda zupełnie inaczej, ale nadal zachowuje te funkcje (lub implementuje je ręcznie nad swoim interfejsem użytkownika).

To byłby dobry początek, jeśli mógłbym przynajmniej zaimplementować przyciski przeciągania i okien na początek. Celuję tutaj w Linux, Mac i Windows.

questionAnswers(2)

yourAnswerToTheQuestion