segunda-feira, 5 de fevereiro de 2018

Javafx - comparando arrays de byte

Quando queremos comparar objetos em java utilizamos
o método equals que pertence a classe object.
 O método equals retornará true se os objetos forem iguais
ou false se forem diferentes.  
Neste exemplo, estamos comparando três arrays de Byte,
mas vale lembrar que arrays são considerados  iguais 
se contiverem os mesmos elementos e na mesma ordem. 

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



 Veja abaixo o código do programa:

import java.util.Arrays;
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 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 ( ) {
         int i;
         Byte [ ] by_1 = { 0, 1, 2, 3, 4, 5 };
         Byte [ ] by_2 = { 0, 1, 2, 3, 4, 5 };
         Byte [ ] by_3 = { 0, 1, 2, 3, 5, 4 };       
         StringBuilder buf = new StringBuilder ( );
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Array de Byte by_1 => ", 180, 80 );
         ctx.setFill ( Color.RED );
         for ( i = 0; i < by_1.length; i++ )
              buf.append ( by_1 [ i ] + " ");
         ctx.fillText ( " " + buf , 340, 80 );
         buf = new StringBuilder ( );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Array de Byte by_2 => ", 180, 110 );
         ctx.setFill ( Color.RED );
         for ( i = 0; i < by_2.length; i++ )
              buf.append ( by_2 [ i ] + " ");
         ctx.fillText ( " " + buf , 340, 110 );
         buf = new StringBuilder ( );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Array de Byte by_3 => ", 180, 140 );
         ctx.setFill ( Color.RED );
         for ( i = 0; i < by_3.length; i++ )
              buf.append ( by_3 [ i ] + " ");
         ctx.fillText ( " " + buf , 340, 140 );       
         boolean blr = Arrays.equals ( by_1, by_2 );
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Os arrays by_1 e by_2 são iguais? => ", 180, 170 );
         ctx.setFill ( Color.RED );
         ctx.fillText ( " " + blr, 440, 170 );        
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Os arrays by_1 e by_3 são iguais? => ", 180, 200 );
         boolean blr_1 = Arrays.equals ( by_1, by_3 );
         ctx.setFill ( Color.RED );
         ctx.fillText ( " " + blr_1, 440, 200 );
         Informe ( );
     }
     // /////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
         stage.setTitle ( "JAVAFX - COMPARANDO ARRAYS DE BYTE" );
         //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 - COMPARANDO ARRAYS DE BYTE", 150, 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.