tutorial español java user-interface java-ee javafx javafx-2

javafx tutorial netbeans español



JavaFX primaryStage elimina los bordes de las ventanas? (1)

Esta pregunta ya tiene una respuesta aquí:

Estoy haciendo la aplicación destop JavaFX. Quiero eliminar el borde de Windows predeterminado y también quiero personalizar los 3 iconos estándar de minimizar, maximizar y cerrar.

La motivación original de este tipo de apariencia o personalización es la nueva interfaz de usuario de Kaspersky 2012 ... Quiero diseñar algo así ... :)


Este ejemplo puede ser un buen punto de partida. Se elimina toda la decoración de la ventana. Se puede usar una clase de HBox para colocar botones personalizados para operaciones de ventana estándar.

package javafxdemo; import javafx.application.Application; import javafx.application.Platform; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ToolBar; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import javafx.stage.Stage; import javafx.stage.StageStyle; public class JavaDemo extends Application { public static void main(String[] args) { launch(args); } class WindowButtons extends HBox { public WindowButtons() { Button closeBtn = new Button("X"); closeBtn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent actionEvent) { Platform.exit(); } }); this.getChildren().add(closeBtn); } } @Override public void start(Stage primaryStage) { //remove window decoration primaryStage.initStyle(StageStyle.UNDECORATED); BorderPane borderPane = new BorderPane(); borderPane.setStyle("-fx-background-color: green;"); ToolBar toolBar = new ToolBar(); int height = 25; toolBar.setPrefHeight(height); toolBar.setMinHeight(height); toolBar.setMaxHeight(height); toolBar.getItems().add(new WindowButtons()); borderPane.setTop(toolBar); primaryStage.setScene(new Scene(borderPane, 300, 250)); primaryStage.show(); } }

También puede descargar los ejemplos de JavaFX donde puede encontrar muchos ejemplos más útiles.