sexta-feira, 30 de março de 2018

Javafx - word wrap em Label

Quando um texto de um Label ultrapassa determinadas
 quantidades de caracteres podemos fazer uma quebra
de linhas facilmente, para isto só precisamos usar o comando
.setWrapText ( true );
O texto passa a ser ajustado automaticamente no layout quando

.setWrapText tem o seu valor definido como true.

 Veja abaixo uma imagem do programa em execução:  


Veja abaixo o código do programa:


import javafx.application.Application;

import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;

public class PROJETO extends Application {
     public static Label lbl = new Label ( );
     static Canvas canvas = new Canvas ( 620, 350 );
     static GraphicsContext ctx = canvas.getGraphicsContext2D ( );
     static Pane ro_ot = new Pane ( );
     static Scene sce_ne = new Scene ( ro_ot, 620, 350 );
     static Button btn_1 = new Button ( "CLICK - ME" );
     // /////////////////////////////////////////////////////////////////////////
     public static void Informe ( ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "Por: ", 250, 275 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Samuel Lima", 280, 275 );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "sa_sp10@hotmail.com", 250, 290 );
     }
     // ////////////////////////////////////////////////////////////////////////
     public static Node Label_1 ( ) {
         btn_1.setPrefWidth ( 100 );// Largura do botão
         btn_1.setLayoutX ( 267 );// Posição do botão coluna
         btn_1.setPrefHeight ( 20 );// altura do botão
         btn_1.setLayoutY ( 300 );// //Posição do botão linha    
         btn_1.setStyle ( "-fx-padding: 1;" + "-fx-border-style: solid inside;"
                   + "-fx-border-width: 2;" + "-fx-border-insets: 1;"
                   + "-fx-border-radius: 1;" + "-fx-border-color: blue;"
                   + "-fx-font-style: italic;"
                   + "-fx-font-family: Consolas;"
                   );
         btn_1.setOnAction ( new EventHandler < ActionEvent > ( ) {
              @Override
              public void handle ( ActionEvent event ) {
                   //Posiciona o label na horizontal
                   lbl.setLayoutX ( 210 );
                   //Posiciona o label na vertical
                   lbl.setLayoutY ( 120 );
                   //Determina o tipo e tamanho da fonte
                   lbl.setFont ( new Font ( "Cambria", 20 ) );
                   //Aplica cor no rótulo
                   lbl.setTextFill ( Color.BLUE );
                   lbl.setText ( "JavaFx é a poderosa biblioteca do java." );
                   lbl.setPrefWidth ( 120 );
                   lbl.setWrapText ( true );
                   Informe ( );
              }
         } );
         return btn_1;
     }
     // ////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         stage.setTitle ( "JAVAFX - WORD WRAP EM LABEL" );
         //Criando moldura e dando efeitos
         ro_ot.setStyle ( "-fx-padding: 5;" + "-fx-border-style: solid inside;"
                   + "-fx-border-width: 15;" + "-fx-border-insets: 5;"
                   + "-fx-border-radius: 5;" + "-fx-border-color: black;"
                   + "-fx-background: beige;");
         ctx.setFill ( Color.RED );
         ctx.fillText ( "JAVAFX - WORD WRAP EM LABEL", 210, 50 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Clicke no botão para ativar o word wrap", 210, 80 );
         //Posiciona o label na horizontal
         lbl.setLayoutX ( 210 );
         //Posiciona o label na vertical
         lbl.setLayoutY ( 100 );
         //Determina o tipo e tamanho da fonte
         lbl.setFont ( new Font ( "Cambria", 20 ) );
         lbl.setTextFill ( Color.BLACK );
         lbl.setText ( "JavaFx é a poderosa biblioteca do java." );
         //lbl.setPrefWidth ( 120 );
         lbl.setWrapText ( false );
         Label_1  ( );
         ro_ot.getChildren ( ).addAll ( canvas, btn_1, lbl );
         stage.setScene ( sce_ne );
         stage.show ( );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void main ( String [ ] args ) {
         Application.launch ( args );
     }
}
 


Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.