Estamos mostrando mais um excelente exemplo de uso de array em java,
desta vez, o programa gera, imprime e embaralha todos os elementos
que foram gerados utilizando a classe java.util.Random que é capaz de
gerar números aleatórios em java.
Más a graça do programa é sua bela interface com borda criada
utilizando a classe canvas que é muito boa para desenhos de figuras
geométricas como retângulos, polígonos, triângulos entre outros.
Se você está a procura de um programa com menu e caixa de diálogos,
aproveite este exemplo, e se possível compartilhe seus conhecimentos desta
poderosa linguagem de programação conosco.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
desta vez, o programa gera, imprime e embaralha todos os elementos
que foram gerados utilizando a classe java.util.Random que é capaz de
gerar números aleatórios em java.
Más a graça do programa é sua bela interface com borda criada
utilizando a classe canvas que é muito boa para desenhos de figuras
geométricas como retângulos, polígonos, triângulos entre outros.
Se você está a procura de um programa com menu e caixa de diálogos,
aproveite este exemplo, e se possível compartilhe seus conhecimentos desta
poderosa linguagem de programação conosco.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.MenuItem;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.BorderPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
import java.util.Random;
public class PROJETO extends Application {
String str = "";
String str_2 = "";
int i, n = 100, a = 0, b = 0;
int vet [ ] = new int [ n ];
int ve_t [ ] = new int [ n ];
int x = 0, y = 0, k = 0;
@Override
public void start ( Stage primaryStage ) {
Canvas canvas = new Canvas ( 690, 500 );
GraphicsContext ctx = canvas.getGraphicsContext2D ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 15 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "ARRAY: GERAR
- IMPRIMIR E EMBARALHAR", 170, 80 );
ctx.setLineWidth ( 22.0 );
ctx.setStroke ( Color.GREEN );
ctx.strokeRect ( 10, 35, 640, 420 );
BorderPane root = new BorderPane ( );
root.getChildren ( ).add ( canvas );
Scene scene = new Scene ( root, 660, 465 );
primaryStage.setScene ( scene );
primaryStage.setTitle ( "ARRAY: GERAR
- IMPRIMIR E EMBARALHAR" );
//
//////////////////////////////////////////////////////////////////////
MenuBar m_nu_1 = new MenuBar ( );
Menu m_nu = new Menu ( "Arq" );
MenuItem exd = new MenuItem ( "Sair" );
MenuItem te_d = new MenuItem ( "Imprimir" );
m_nu.getItems ( ).addAll ( te_d, exd );
// /////////////////////////////////////////////////
Menu m_enu = new Menu ( "Vet" );
MenuItem vis_vet = new MenuItem ( "Rand" );
MenuItem vis_vet_1 = new MenuItem ( "Sobre" );
m_enu.getItems ( ).addAll ( vis_vet, vis_vet_1 );
// ////////////////////////////////////////////////////
m_nu_1.getMenus ( ).add ( m_nu );
m_nu_1.getMenus ( ).add ( m_enu );
root.setTop ( m_nu_1 );
//
//////////////////////////////////////////////////////////////////////
exd.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
primaryStage.close ( );
}
} );
//
//////////////////////////////////////////////////////////////////////
te_d.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 15 ) );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "IMPRIMINDO O
ARRAY", 250, 110 );
if ( k == 1 ) {
Alert alert = new Alert ( AlertType.INFORMATION );
alert.setTitle ( "Atenção" );
alert.setHeaderText ( null );
alert.setContentText ( "O array já
foi imprimido" );
alert.showAndWait ( );
return;
}
for ( i = 1; i <= n; i++ ) {
vet [ a ] = i;
a++;
}
for ( i = 0; i < n; i++ ) {
str = str + vet [ i ];
y = vet [ i ];
if ( i == 19 )
str += ( "\n" );
if ( i == 39 )
str += ( "\n" );
if ( i == 59 )
str += ( "\n" );
if ( i == 79 )
str += ( "\n" );
str += ( " " );
k = 1;
}
ctx.setFill ( Color.BLACK );
ctx.fillText ( str, 70, 140 );
}
} );
//
//////////////////////////////////////////////////////////////////////
vis_vet.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
if ( y == 0 ) {
Alert alert = new Alert ( AlertType.INFORMATION );
alert.setTitle ( "Atenção" );
alert.setHeaderText ( null );
alert.setContentText ( "O array ainda
não foi gerado" );
alert.showAndWait ( );
return;
}
if ( x == 1 ) {
Alert alert = new Alert ( AlertType.INFORMATION );
alert.setTitle ( "Atenção" );
alert.setHeaderText ( null );
alert.setContentText ( "O array já
foi embaralhado" );
alert.showAndWait ( );
return;
}
if ( y >= 0 ) {
x = 1;
ctx.setFill ( Color.BLUE );
ctx.fillText ( "O ARRAY FOI
EMBARALHADO", 250, 240 );
int temp, r;
Random random = new Random ( );
for ( i = 0; i < n; i++ ) {
r = random.nextInt ( n );
temp = vet [ i ];
vet [ i ] = vet [ r ];
vet [ r ] = temp;
}
for ( r = 0; r < n; r++ ) {
str_2 = str_2 + vet [ r ];
if ( r == 19 )
str_2 += ( "\n" );
if ( r == 39 )
str_2 += ( "\n" );
if ( r == 59 )
str_2 += ( "\n" );
if ( r == 79 )
str_2 += ( "\n" );
str_2 += ( " " );
}
ctx.setFill ( Color.BLACK );
ctx.fillText ( str_2, 70, 270 );
}
}
} );
vis_vet_1.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
Alert alert = new Alert ( AlertType.INFORMATION );
alert.setTitle ( "Atenção" );
alert.setHeaderText ( null );
alert.setContentText ( "Programa
criado por Samuel Lima" );
alert.showAndWait ( );
}
} );
//
//////////////////////////////////////////////////////////////////////
exd.setAccelerator ( new KeyCodeCombination ( KeyCode.E,
KeyCombination.CONTROL_DOWN ) );
te_d.setAccelerator ( new KeyCodeCombination ( KeyCode.C,
KeyCombination.CONTROL_DOWN ) );
vis_vet.setAccelerator ( new KeyCodeCombination ( KeyCode.D,
KeyCombination.CONTROL_DOWN ) );
vis_vet_1.setAccelerator ( new KeyCodeCombination ( KeyCode.F,
KeyCombination.CONTROL_DOWN ) );
primaryStage.show ( );
}
public static void main ( String [ ] args ) {
launch ( args );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.