terça-feira, 1 de novembro de 2016

Javafx - Imprimindo vetor em janela gráfica

Baseado na avançada biblioteca javafx, criei este exemplo
de como imprimir um vetor numa janela gráfica, o programa
mostra ainda o maior e o menor elemento contido no vetor,
que foi carregado por um laço for();
O exemplo da parte gráfica foi retirado de um tutorial da oracle.

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




Veja abaixo o código do programa

import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.effect.*;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class PROJETO extends Application {
     Stage stage;
     Scene scene;

     @Override
     public void start ( Stage stage ) {
          stage.show ( );
          scene = new Scene ( new Group ( ), 760, 400, Color.BLACK );
          ObservableList < Node > content = ( ( Group ) scene.getRoot ( ) )
                     .getChildren ( );
          stage.setScene ( scene );
          stage.setTitle ( "IMPRIMINDO VETOR" );
          content.add ( Vetor ( ) );
          content.add ( Vetor_1 ( ) );
          content.add ( Vetor_2 ( ) );
     }

     static Node Vetor ( ) {
          String tudo = "";
          String tudo_1 = "";
          String tudo_2 = "";
          int n = 100, a = 0;
          int reais[] = new int [ n ], i, maior, menor;
          for ( i = 1; i <= n; i++ ) {
                reais[a] = i;
                a++;
          }
          for ( i = 0; i < n; i++ ) {
                tudo = tudo + reais[i];
                if ( i == 19 ) {
                     tudo += ( "\n" );
                }
                if ( i == 39 )
                     tudo += ( "\n" );
                if ( i == 59 )
                     tudo += ( "\n" );
                if ( i == 79 )
                     tudo += ( "\n" );
                tudo += ( "  " );
          }
          Group g = new Group ( );
          Rectangle r = new Rectangle ( );
          r.setX ( -20 );// lado esquerdo
          r.setY ( 25 );// cima
          r.setWidth ( 700 );// lado direito
          r.setHeight ( 350 );// baixo
          r.setFill ( Color.WHITE );
          Text t = new Text ( );
          t.setText ( tudo );
          t.setFill ( Color.BLACK );
          t.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
          t.setX ( 25 );
          t.setY ( 100 );
          g.setCache ( true );
          g.getChildren ( ).add ( r );
          g.getChildren ( ).add ( t );
          g.setTranslateX ( 50 );
          ////////////////////////////////////////////////////////////////////////
          maior = reais[0];
          for ( i = 1; i < n; i++ ) {
                if ( reais[i] > maior )
                     maior = reais[i];
          }
          tudo_1 = tudo_1 + maior;
          Text tt = new Text ( );
          tt.setText ( " O maior resultado é " );
          tt.setFill ( Color.BLACK );
          tt.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
          tt.setX ( 25 );
          tt.setY ( 300 );
          g.getChildren ( ).add ( tt );
          Text t_t = new Text ( );
          t_t.setText ( tudo_1 );
          t_t.setFill ( Color.RED );
          t_t.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
          t_t.setX ( 210 );
          t_t.setY ( 300 );
          g.getChildren ( ).add ( t_t );
          ////////////////////////////////////////////////////////////////////////
          menor = reais[0];
          for ( i = 1; i < n; i++ ) {
                if ( reais[i] < menor )
                     menor = reais[i];
          }
          tudo_2 = tudo_2 + menor;
          Text tt_1 = new Text ( );
          tt_1.setText ( " O menor resultado é " );
          tt_1.setFill ( Color.BLACK );
          tt_1.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
          tt_1.setX ( 25 );
          tt_1.setY ( 270 );
          g.getChildren ( ).add ( tt_1 );
          Text tt_2 = new Text ( );
          tt_2.setText ( tudo_2 );
          tt_2.setFill ( Color.RED );
          tt_2.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
          tt_2.setX ( 210 );
          tt_2.setY ( 270 );
          g.getChildren ( ).add ( tt_2 );
          return g;
     }

     ////////////////////////////////////////////////////////////////////////////
     static Node Vetor_1 ( ) {
          Group g = new Group ( );
          String Msg = "MUITO OBRIGADO";
          DropShadow ds = new DropShadow ( );
          ds.setOffsetY ( 3.0f );
          ds.setColor ( Color.color ( 0.4f, 0.4f, 0.4f ) );
          Text t = new Text ( );
          t.setEffect ( ds );
          t.setCache ( true );
          t.setX ( -60.0f );
          t.setY ( 360.0f );
          t.setFill ( Color.RED );
          t.setText ( Msg );
          t.setFont ( Font.font ( null, FontWeight.BOLD, 26 ) );
          g.setCache ( true );
          g.setEffect ( new Bloom ( ) );
          g.getChildren ( ).add ( t );
          g.setTranslateX ( 350 );
          return g;
     }

     ////////////////////////////////////////////////////////////////////////////
     static Node Vetor_2 ( ) {
          Group g = new Group ( );
          String Msg = "IMPRIMINDO VETOR";
          Rectangle r = new Rectangle ( );
          DropShadow ds = new DropShadow ( );
          ds.setOffsetY ( 3.0f );
          ds.setColor ( Color.color ( 0.4f, 0.4f, 0.4f ) );
          Text t = new Text ( );
          t.setEffect ( ds );
          t.setCache ( true );
          t.setX ( 230.0f );
          t.setY ( 60.0f );
          t.setFill ( Color.RED );
          t.setText ( Msg );
          t.setFont ( Font.font ( null, FontWeight.BOLD, 22 ) );
          g.setCache ( true );
          g.setEffect ( new Bloom ( ) );
          g.getChildren ( ).add ( r );
          g.getChildren ( ).add ( t );
          g.setTranslateX ( 50 );
          return g;
     }

     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.