terça-feira, 6 de fevereiro de 2018

Javafx - declarando variáveis num loop for

Variáveis podem ser declaradas no bloco de um loop,
ora, isto é correto e aposto que muitos
já utilizam este benefício do java com êxito.
Neste exemplo estamos declarando algumas variáveis

dentro de um loop for e os valores
destas 3 variáveis declaradas no loop
serão copiadas em 3 Arrays de inteiros
previamente declarados vazios.

Como estamos usando interface do JavaFx,
optei por usar StringBuilder ( ); para
receber as cópias destes Arrays já carregados
onde serão imprimidos na tela.


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 int TAM = 16;
     static int [ ] arr_1 = new int [ TAM ];
     static int [ ] arr_2 = new int [ TAM ];
     static int [ ] arr_3 = new int [ TAM ];
     static int a = 0, b = 0, c = 0;
     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 Informe ( ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "Por: ", 200, 240 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Samuel Lima", 240, 240 );
         ctx.setFill ( Color.BLACK );
         ctx.fillText ( "sa_sp10@hotmail.com", 200, 260 );
         ctx.setFill ( Color.RED );
         ctx.fillText ( " MUITO OBRIGADO", 250, 290 );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static void Arr ( ) { 
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );      
         StringBuilder buf1 = new StringBuilder ( );
         StringBuilder buf2 = new StringBuilder ( );
         StringBuilder buf3 = new StringBuilder ( );       
         for ( int i = 0, j = 0, k = 0; (  k  < TAM ); i++, j++, k++ ) {
              ctx.setFill ( Color.BLUE );
              ctx.fillText ( "Array de Int arr_1 => ", 160, 80 );
              ctx.setFill ( Color.RED );
              arr_1 [ i ] = a++;
              buf1.append ( arr_1 [ i ] + " " );
              ctx.fillText ( " " + buf1 , 300, 80 );
              //////////////////////////////////////
              ctx.setFill ( Color.BLUE );
              ctx.fillText ( "Array de Int arr_2 => ", 160, 110 );
              ctx.setFill ( Color.RED );
              arr_2 [ j ] = b++;
              buf2.append ( arr_2 [ j ]  + " ");
              ctx.fillText ( " " + buf2 , 300, 110 );
              //////////////////////////////////////
              ctx.setFill ( Color.BLUE );
              ctx.fillText ( "Array de Int arr_3 => ", 160, 140 );
              ctx.setFill ( Color.RED );
              arr_3 [ k ] = c++;
              buf3.append ( arr_3 [ k ]  + " " );
              ctx.fillText ( " " + buf3 , 300, 140 );
              //////////////////////////////////////
         }
         Informe ( );
     }
     // /////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         stage.setTitle ( "JAVAFX - VÁRIAS VARIÁVEIS NUM LOOP FOR" );
         //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 - VÁRIAS VARIÁVEIS NUM LOOP FOR", 160, 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.