JavaFX | Clase de fuente

La clase de fuente es una parte de JavaFX. La clase Font representa las fuentes, que se utilizan para representar texto en la pantalla. El tamaño de una fuente se describe como especificado en puntos que son una medida real de aproximadamente 1/72 de pulgada. La clase de fuente hereda la clase de objeto .

Constructores de la clase:

  1. Fuente (doble s) : crea un objeto de fuente con el tamaño especificado.
  2. Fuente (String n, double s): crea un objeto de fuente con el nombre y el tamaño especificados.

Métodos comúnmente utilizados:

Método Explicación
fuente (doble s) Crea un objeto de fuente con el tamaño especificado.
fuente (String f) Crea un objeto de fuente con el nombre de familia especificado.
fuente (String f, doble s) Crea un objeto de fuente con el nombre de familia y el tamaño especificados.
fuente (String f, Postura de fuente p, doble s) Crea un objeto de fuente con el nombre de familia, la postura y el tamaño especificados.
fuente (String f, peso de FontWeight, doble s) Crea un objeto de fuente con el nombre de familia, el peso de fuente y el tamaño especificados.
fuente (String f, Peso de fuente w, Postura de fuente p, doble s) Crea un objeto de fuente con el nombre de familia, el peso de fuente, la postura de fuente y el tamaño especificados.
getDefault() Devuelve la fuente predeterminada.
obtenerFamilias() Obtiene todas las familias de fuentes instaladas en el sistema del usuario.
obtenerFamilia() Devuelve la familia de la fuente.
getFontNames() Obtiene los nombres de todas las fuentes que están instaladas en el sistema de los usuarios.
getFontNames(String f) Obtiene los nombres de todas las fuentes de la familia de fuentes especificada que están instaladas en el sistema de los usuarios.
loadFont(Entrada InputStream, doble s) Carga un recurso de fuente del flujo de entrada especificado.
loadFont (string de URL, doble s) Carga un recurso de fuente desde la URL especificada.
obtenerNombre() El nombre completo de la fuente.
obtenerTamaño() El tamaño en puntos de esta fuente.

Los siguientes programas ilustran el uso de Font Class:

  1. Programa en Java para crear un objeto de fuente y aplicarlo a un texto: En este programa crearemos una fuente llamada fuente y especificaremos su familia, su peso y tamaño de fuente. Aplique esta fuente al texto y agregue este texto al flujo de texto denominado TextFlow. Cree un VBox llamado vbox y agregue el flujo de texto al vbox y agregue el vbox a la escena y agregue la escena al escenario. Llame a la función show() para mostrar los resultados.

    // Java Program to create a font object 
    // and apply it to a text
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.layout.*;
    import javafx.scene.paint.*;
    import javafx.scene.text.*;
    import javafx.geometry.*;
    import javafx.scene.layout.*;
    import javafx.scene.shape.*;
      
    public class Font_1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            try {
      
                // set title for the stage
                stage.setTitle("Font");
      
                // create TextFlow
                TextFlow text_flow = new TextFlow();
      
                // create text
                Text text_1 = new Text("GeeksforGeeks\n");
      
                // set the text color
                text_1.setFill(Color.GREEN);
      
                // create a font
                Font font = Font.font("Verdana", FontWeight.EXTRA_BOLD, 25);
      
                // set font of the text
                text_1.setFont(font);
      
                // set text
                text_flow.getChildren().add(text_1);
      
                // set line spacing
                text_flow.setLineSpacing(20.0f);
      
                // create VBox
                VBox vbox = new VBox(text_flow);
      
                // set alignment of vbox
                vbox.setAlignment(Pos.CENTER);
      
                // create a scene
                Scene scene = new Scene(vbox, 400, 300);
      
                // set the scene
                stage.setScene(scene);
      
                stage.show();
            }
      
            catch (Exception e) {
      
                System.out.println(e.getMessage());
            }
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }

    Producción:

  2. Programa Java para crear un objeto de fuente y aplicarlo a un texto y permitir que el usuario seleccione la fuente del cuadro combinado: En este programa crearemos una Fuente llamada fuente y especificaremos su familia, su peso y tamaño de fuente. Aplique esta fuente al texto y agregue este texto al flujo de texto denominado TextFlow. Cree un VBox llamado vbox y agregue el flujo de texto al vbox y agregue el vbox a la escena y agregue la escena al escenario. Cree dos cuadros combinados y agregue los nombres de fuente a uno y el peso de la fuente al otro y cree un controlador de eventos para manejar los eventos de los cuadros combinados y establezca la fuente en el tipo especificado por el usuario.

    // Java Program to create a font object 
    // and apply it to a text and allow the 
    // user to select font from the combo box
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    import javafx.stage.Stage;
    import javafx.scene.layout.*;
    import javafx.scene.paint.*;
    import javafx.scene.text.*;
    import javafx.geometry.*;
    import javafx.scene.layout.*;
    import javafx.scene.shape.*;
    import javafx.collections.*;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
       
    public class Font_2 extends Application {
       
    // launch the application
    public void start(Stage stage)
    {
      
    try {
      
        // set title for the stage
        stage.setTitle("Font");
      
        // create TextFlow
        TextFlow text_flow = new TextFlow();
      
        // create text
        Text text_1 = new Text("GeeksforGeeks\n");
      
        // set the text color
        text_1.setFill(Color.GREEN);
      
        // create a font
        Font font = Font.font(Font.getFontNames().get(0), 
                              FontWeight.EXTRA_BOLD, 20);
      
        // font weight names
        String weight[] = { "BLACK", "BOLD",
                            "EXTRA_BOLD",
                            "EXTRA_LIGHT",
                            "LIGHT",
                            "MEDIUM",
                            "NORMAL",
                            "SEMI_BOLD",
                            "THIN" };
      
        // Create a combo box
        ComboBox combo_box =
          new ComboBox(FXCollections.observableArrayList(weight));
      
        // Create a combo box
        ComboBox combo_box1 = 
          new ComboBox(FXCollections.observableArrayList(Font.getFontNames()));
      
        // Create action event
        EventHandler<ActionEvent> event =
        new EventHandler<ActionEvent>() {
      
            public void handle(ActionEvent e)
            {
      
                // set font of the text
                text_1.setFont(Font.font((String)combo_box1.getValue(),
                     FontWeight.valueOf((String)combo_box.getValue()), 20));
            }
        };
      
        // Create action event
        EventHandler<ActionEvent> event1 = 
           new EventHandler<ActionEvent>() {
      
            public void handle(ActionEvent e)
            {
      
                // set font of the text
                text_1.setFont(Font.font((String)combo_box1.getValue(),
                      FontWeight.valueOf((String)combo_box.getValue()), 20));
            }
        };
      
        // Set on action
        combo_box.setOnAction(event);
        combo_box1.setOnAction(event1);
      
        // set font of the text
        text_1.setFont(font);
      
        // set text
        text_flow.getChildren().add(text_1);
      
        // set line spacing
        text_flow.setLineSpacing(20.0f);
      
        // create a HBox
        HBox hbox = new HBox(combo_box, combo_box1);
      
        // create VBox
        VBox vbox = new VBox(hbox, text_flow);
      
        // set spacing
        vbox.setSpacing(30.0);
      
        // set alignment of vbox
        vbox.setAlignment(Pos.CENTER);
      
        // create a scene
        Scene scene = new Scene(vbox, 400, 300);
      
        // set the scene
        stage.setScene(scene);
      
        stage.show();
    }
      
    catch (Exception e) {
      
        System.out.println(e.getMessage());
    }
    }
      
    // 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; use un compilador fuera de línea.

Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/text/Font.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 *