sexta-feira, 22 de dezembro de 2017

Javafx - Array bidimensional de string outro exemplo

Veja uma imagem do programa em execução:


Veja abaixo o código do programa:


//IMPRIMINDO ARTRAY DE STRING EM JAVAFX
//MODO DIFERENTE-NUMERANDO LINHAS
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.scene.Group;
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.event.EventHandler;
import javafx.scene.paint.Color;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.geometry.Insets;
import javafx.concurrent.Task;

////////////////////////////////////////////////////////////////////////////////
public class PROJETO extends Application {
     static int b = 0, k = 0, z = 0, i, j = 0;
    static String str_1 = "MUITO OBRIGADO";
     static String str_3 = "Por: Samuel Lima";
     static String str = " ";
     static String str_2 = " ";
     static String str_4 = " ";
     static String str_5 = " ";
     static int cont = 0;
     static Canvas canvas = new Canvas ( 490, 410 );
     static GraphicsContext ctx = canvas.getGraphicsContext2D ( );
     static BorderPane borderPane = new BorderPane ( );
     static Pane ro_ot = new Pane ( );
     static Scene sce_ne = new Scene ( ro_ot, 490, 410 );
     static MenuBar menuBar = new MenuBar ( );
     static Text t_0 = new Text ( );
     static Text t_1 = new Text ( );
     static Text t_2 = new Text ( );
     static Text t_3 = new Text ( );
     static String [ ] [ ] selecoes = {
         {"Alemanha"       }, //0
         {"Argélia"        }, //1
         {"Argentina"      }, //2
         {"Austrália"      }, //3
         {"Bélgica"        }, //4
         {"Bósnia"         }, //5
         {"Brasil"         }, //6
         {"Camarões"       }, //7
         {"Chile"          }, //8
         {"Colômbia"       }, //9
         {"Coreia do Sul"  }, //10
         {"Costa do Marfim"}, //11
         {"Costa Rica"     }, //12
         {"Croácia"        }, //13
         {"Equador"        }, //14
         {"Espanha"        }, //15
         {"Estados Unidos" }, //16
         {"França"         }, //17
         {"Gana"           }, //18
         {"Grécia"         }, //19
         {"Holanda"        }, //20
         {"Honduras"       }, //21
         {"Inglaterra"     }, //22
         {"Irã"            }, //23
         {"Itália"         }, //24
         {"Japão"          }, //25
         {"México"         }, //26
         {"Nigéria"        }, //27
         {"Portugal"       }, //28
         {"Rússia"         }, //29
         {"Suíça"          }, //30
         {"Uruguai"       }}; //31
////////////////////////////////////////////////////////////////////////////
     public static void TextString ( ) {
         t_0.setFont ( Font.font ( "Arial", FontWeight.BOLD, 25 ) );
         t_1.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 25 ) );
         t_2.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 25 ) );
         t_3.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 25 ) );
     }
     // /////////////////////////////////////////////////////////////////////////
     public static Node But_ton_1 ( ) {
         Button btn_1 = new Button ( "Inf" );
         btn_1.setPrefWidth ( 50 );// Largura do botão
         btn_1.setLayoutX ( 22 );// Posição do botão
         btn_1.setPrefHeight ( 20 );// altura do botão
         btn_1.setLayoutY ( 262 );// //Posição do botão
         btn_1.setOnAction ( new EventHandler < ActionEvent > ( ) {
              @Override
              public void handle ( ActionEvent event ) {
                   int b = 0;
                   b = 1;
                   Sleep ( 1800, b );
                   b = 2;
                   Sleep ( 2800, b );
              }
         } );
         ro_ot.getChildren ( ).add ( btn_1 );
         return btn_1;
     }
     // /////////////////////////////////////////////////////////////////////////
     public static Node But_ton_2 ( ) {
         Button btn_2 = new Button ( "Cls" );
         btn_2.setPrefWidth ( 50 );// Largura do botão
         btn_2.setLayoutX ( 417 );// Posição do botão
         btn_2.setPrefHeight ( 20 );// altura do botão
         btn_2.setLayoutY ( 262 );// //Posição do botão
         btn_2.setOnAction ( new EventHandler < ActionEvent > ( ) {
              @Override
              public void handle ( ActionEvent event ) {
                   // Coluna, linha, comprimento, altura
                   // Apagando uma linha ou partes
                   ctx.clearRect ( 80, 60, 180, 80 );
              }
         } );
         ro_ot.getChildren ( ).add ( btn_2 );
         return btn_2;
     }
     // /////////////////////////////////////////////////////////////////////////
     // Chamando uma função depois de um certo tempo
     public static void Tempo_2 ( ) {
         ctx.setFill ( Color.GREEN );
         ctx.fillText ( "MUITO OBRIGADO", 80, 120 );
     }
     public static void Tempo_1 ( ) {
         ctx.setFill ( Color.BLUE );
         ctx.fillText ( "Por: Samuel Lima", 80, 90 );
     }
     public static int Sleep ( int x, int k ) {
         Task < Integer > close = new Task < Integer > ( ) {
              @Override
              protected Integer call ( ) throws Exception {
                   Thread.sleep ( x );
                   return null;
              }
         };
         close.setOnSucceeded ( c -> {
              if ( k == 1 )
                   Tempo_1 ( );
              if ( k == 2 )
                   Tempo_2 ( );
         } );
         new Thread ( close ).start ( );
         return 0;
     }
     // /////////////////////////////////////////////////////////////////////////
     public static int Menu_Bar ( ) {
         EventHandler < ActionEvent > action = changeTabPlacement ( );
         Menu menu = new Menu ( "Arq" );
         MenuItem top = new MenuItem ( "Exit" );
         top.setOnAction ( action );
         menu.getItems ( ).add ( top );
         MenuItem bottom = new MenuItem ( "Inf" );
         bottom.setOnAction ( action );
         menu.getItems ( ).add ( bottom );
         menuBar.getMenus ( ).add ( menu );
         borderPane.setTop ( menuBar );
         return 0;
     }
     // /////////////////////////////////////////////////////////////////////////
     private static EventHandler < ActionEvent > changeTabPlacement ( ) {
         return new EventHandler < ActionEvent > ( ) {
              public void handle ( ActionEvent event ) {
                   MenuItem mItem = ( MenuItem ) event.getSource ( );
                   String side = mItem.getText ( );
                   if ( "Exit".equalsIgnoreCase ( side ) ) {
                        System.exit ( 0 );
                   } else if ( "Inf".equalsIgnoreCase ( side ) ) {
                        But_ton_1 ( );
                        But_ton_2 ( );
                   }
              }
         };
     }
////////////////////////////////////////////////////////////////////////////
     public static Node Line ( ) {
         Group y = new Group ( );
         for ( i = 0; i <= selecoes.length; i++ ) {
              if ( i >= 1 && i <= 16 ) {
                   b++;
                   str_2 += b + "\n";
                   str += selecoes [ i - 1 ] [ j ] +  "\n";
              }
              if ( i >= 17 && i <= 32 ) {
                   b++;
                   str_4 += b + "\n";
                   str_5 += selecoes [ i - 1 ] [ j ] +  "\n";
              }
         }
         //Primeira coluna
         t_1.setFill ( Color.RED );     
         t_1.setX ( 70 );// coluna
         t_1.setY ( 90 );// linha
         t_1.setText ( str_2 );
         t_0.setFill ( Color.BLACK );
         t_0.setX ( 90 );// coluna
         t_0.setY ( 90 );// linha
         t_0.setText ( str );
        ///////////////////////////
         //Segunda coluna
         t_2.setFill ( Color.RED );     
         t_2.setX ( 200 );// coluna
         t_2.setY ( 90 );// linha
         t_2.setText ( str_4 );
         t_3.setFill ( Color.BLACK );
         t_3.setX ( 220 );// coluna
         t_3.setY ( 90 );// linha
         t_3.setText ( str_5 );
         return y;
     }
     // ////////////////////////////////////////////////////////////////////////
     public void start ( Stage stage ) {
         stage.setTitle ( "IMPRIMINDO ARTRAY DE STRING EM JAVAFX" );
         // Dando uns efeitos na moldura
         ro_ot.setStyle ( "-fx-padding: 5;" + "-fx-border-style: solid inside;"
                   + "-fx-border-width: 18;" + "-fx-border-insets: 5;"
                   + "-fx-border-radius: 5;" + "-fx-border-color: blue;" );
         Menu_Bar ( );
         Line ( );
         // Configurando o local exato do menu
         borderPane.setPadding ( new Insets ( 23, 500, 0, 23 ) );
         ctx.setFont ( Font.font ( "Tahoma", FontWeight.NORMAL, 15 ) );
         ctx.setFill ( Color.RED );
         ctx.fillText ( "IMPRIMINDO ARTRAY DE STRING EM JAVAFX", 100, 60 );
         ro_ot.getChildren ( ).addAll ( canvas, borderPane, t_0, t_1, t_2, t_3 );
         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.