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.