terça-feira, 23 de janeiro de 2018

Javafx - convertendo string em array bidimensional de string

Aqui está um bom exemplo de como converter
 uma String num array bidimensional de string.
A string st é carregada por uma variável inteira 
que recebeu os 100 primeiros números naturais,
e em seguida é copiada no array bidimensional
de string, e imprimida pelo método .fillText ( )
do javafx,  fillText ( ) usa 3 parâmetros,
o da esquerda recebe a string, e o do centro e o
da direita são respectivamente, dois inteiros
para definir coluna e linha da impressão.

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


Veja abaixo o código do programa:



import javafx.application.Application;
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.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;

public class PROJETO extends Application {
     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 ( "FECHAR" );
     // /////////////////////////////////////////////////////////////////////////
     public static Node But_ton_3 ( ) {
         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.setOnKeyPressed ( e -> {
              if ( e.getCode ( ) == KeyCode.ENTER ) {
                   System.exit ( 0 );
              }
         } );
         return btn_1;
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void Arr ( ) {
         int a = 0, b = 0, i = 0, j = 0;
         String st = " ";
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Abaixo o array bidimensional de string", 180, 80 );
         ctx.setFill ( Color.BLACK );
         do {
              if ( i % 10 == 0 ){
                   st += "\n";
              }
              if ( i >= 0 && i <= 9 )
                   st += ( "0" );
              st += i + "    ";
              i++;
         } while ( i < 100 );
         final int tam_lin = 10;
         final int tam_col = 10;
         String [ ] [ ] str = new String [ tam_lin ] [ tam_col ];
         for ( i = 0; i < tam_lin; i++ ) {
              for ( j = 0; j < tam_col; j++ ) {
                   str [ i ] [ j ] = st;
                   ctx.setFill ( Color.RED );
                   ctx.fillText ( " " + str [ i ] [ j ], 150, 100 );
              }
         }
         a = str [ 0 ].length;
         System.out.print ( a );
         b = str.length;
         System.out.println ( b );
     }
     // /////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         stage.setTitle ( "JAVAFX - CONVERTENDO STRING EM ARRAY BIDIMENSIONAL DE STRING" );
         //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: blue;" );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "JAVAFX - CONVERTENDO STRING EM ARRAY BIDIMENSIONAL DE STRING", 40, 50 );
         Arr ( );
         But_ton_3 ( );
         ro_ot.getChildren ( ).addAll ( canvas, btn_1 );
         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.