JavaFX | Cursor clase con ejemplos

La clase de cursor es una parte de JavaFX. La clase Cursor se usa para encapsular la representación de mapa de bits del cursor del mouse. La clase cursor tiene varios cursores predefinidos que se pueden utilizar según las necesidades del programador.

Métodos comúnmente utilizados:

Método Explicación
cursor(String s) devuelve el objeto del cursor de la string especificada
Enstringr() Devuelve una representación de string para el cursor.

Los siguientes programas ilustrarán el uso de la clase de cursor:

  1. Programa Java para establecer algún cursor predefinido al pasar un identificador de string como argumentos: Este programa crea un Cursor llamado cursor_ . El cursor se colocará en la escena mediante la función setCursor() . Crearemos una etiqueta. La etiqueta se creará dentro de una escena, que a su vez se alojará dentro de un escenario. La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de mosaico, en el que se llama al método addChildren() para adjuntar la etiqueta dentro de la escena. Finalmente, se llama al método show() para mostrar los resultados finales.

    // Java program to set some predefined cursor
    // to the by passing string identifier as arguments
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    import javafx.scene.Cursor;
      
    public class cursor_0 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
              
            // set title for the stage
            stage.setTitle("Creating Cursor");
      
            // create a stack pane
            TilePane tilepane = new TilePane();
      
            // create a label
            Label label = new Label("Cursor Example");
      
            // add button
            tilepane.getChildren().add(label);
      
            // create a scene
            Scene scene = new Scene(tilepane, 200, 200);
      
            // create a cursor
            Cursor cursor_ = Cursor.cursor("WAIT");
      
            // set cursor for the scene
            scene.setCursor(cursor_);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
              
            // launch the application
            launch(args);
        }
    }

    Producción:

  2. Programa Java para colocar algún cursor predefinido en la escena: Este programa crea un Botón indicado por el nombre del botón respectivamente. Crearemos una array de cursores predefinidos llamada cursor_ . El cursor se establecerá en la escena mediante la función setCursor() de la lista de cursores predefinidos cursor_ . El botón se creará dentro de una escena, que a su vez se alojará dentro de un escenario. Crearíamos una etiqueta. La función setTitle() se utiliza para proporcionar título al escenario. Luego se crea un panel de mosaico, en el que se llama al método addChildren() para adjuntar el botón y la etiqueta dentro de la escena. Finalmente, el show()Se llama al método para mostrar los resultados finales. Crearíamos un controlador de eventos para manejar los eventos del botón. El controlador de eventos se agregaría al botón mediante la función setOnAction() . Cuando se presione el botón, el cursor de la escena cambiará usando la función setCursor() .

    // Java program to set some predefined
    // cursor to the scene
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.scene.control.Label;
    import javafx.stage.Stage;
    import javafx.scene.Cursor;
      
    public class cursor_1 extends Application {
      
    // counter of cursor
    int i = 0;
      
    // launch the application
    public void start(Stage stage)
    {
        // set title for the stage
        stage.setTitle("Creating Cursor");
      
        // create a button
        Button button = new Button("cursor");
      
        // create a stack pane
        TilePane tilepane = new TilePane();
      
        // create a label
        Label label = new Label("Cursor Example");
      
        // create a cursor with predefined cursor
        Cursor cursor_[] = {Cursor.CLOSED_HAND, Cursor.CROSSHAIR,
                            Cursor.DEFAULT, Cursor.DISAPPEAR, 
                            Cursor.E_RESIZE, Cursor.H_RESIZE, 
                            Cursor.HAND, Cursor.MOVE, 
                            Cursor.N_RESIZE, Cursor.NE_RESIZE, 
                            Cursor.NONE, Cursor.NW_RESIZE, 
                            Cursor.OPEN_HAND, Cursor.SE_RESIZE, 
                            Cursor.SW_RESIZE, Cursor.TEXT, 
                            Cursor.V_RESIZE, Cursor.W_RESIZE,
                            Cursor.WAIT};
      
        // add button
        tilepane.getChildren().add(button);
        tilepane.getChildren().add(label);
      
        // create a scene
        Scene scene = new Scene(tilepane, 200, 200);
      
        // set cursor for the scene
        scene.setCursor(cursor_[0]);
      
        // action event
        EventHandler<ActionEvent> event = 
          new EventHandler<ActionEvent>() 
        {
            public void handle(ActionEvent e)
            {
                if (i == cursor_.length - 1)
                    i = -1;
      
                // change the cursor
                scene.setCursor(cursor_[++i]);
            }
        };
      
        // when button is pressed
        button.setOnAction(event);
      
        // set the scene
        stage.setScene(scene);
      
        stage.show();
    }
      
    // Main Method
    public static void main(String args[])
    {
          
        // launch the application
        launch(args);
    }
    }

    Producción:

Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.

Referencia: https://docs.oracle.com/javafx/2/api/javafx/scene/Cursor.html

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *