javafx tutorial netbeans español
JavaFX primaryStage elimina los bordes de las ventanas? (1)
Esta pregunta ya tiene una respuesta aquí:
- JavaFX: Ventana sin decorar 1 respuesta
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.