Um array bidimensional de inteiros
é preenchido aleatoriamente, pelo método
Math.random ( ) porém seus elemntos não
são imprimidos imediatamente,
mas quando um número é introduzido
no campo do textfield, e se este número
pertence ao array, todas as ocorrências
deste número são imprimidos em suas devidas
posições onde estão localizados invisivelmente.
Um estudante de javafx deve achar isto perfeito
e duvido que não testará meu programa.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
é preenchido aleatoriamente, pelo método
são imprimidos imediatamente,
mas quando um número é introduzido
no campo do textfield, e se este número
pertence ao array, todas as ocorrências
deste número são imprimidos em suas devidas
posições onde estão localizados invisivelmente.
Um estudante de javafx deve achar isto perfeito
e duvido que não testará meu programa.
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;
import javafx.event.EventHandler;
import javafx.scene.control.TextField;
import javafx.geometry.Insets;
import javafx.scene.layout.HBox;
import javafx.scene.input.KeyEvent;
import java.awt.Toolkit;
import java.util.function.UnaryOperator;
import javafx.scene.control.TextFormatter;
import javafx.scene.control.TextFormatter.Change;
////////////////////////////////////////////////////////////////////////////////
public class PROJETO extends Application {
public static int TAM = 10, pesq;
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" );
static TextField textField_1 = new TextField ( );
static HBox hbox_1 = new HBox ( textField_1 );
//
////////////////////////////////////////////////////////////////////////
public static void limitTextField ( TextField textField, int limit ) {
UnaryOperator < Change > textLimitFilter = change -> {
if ( change.isContentChange ( ) ) {
int newLength = change.getControlNewText ( ).length ( );
if ( newLength > limit ) {
String trimmedText = change.getControlNewText ( )
.substring ( 0, limit );
change.setText ( trimmedText );
int oldLength = change.getControlText ( ).length ( );
change.setRange ( 0, oldLength );
}
}
return change;
};
textField.setTextFormatter ( new TextFormatter < Object > (
textLimitFilter ) );
}
//
/////////////////////////////////////////////////////////////////////////
public static int Pesquisa ( int Vet [ ] [ ] ) {
hbox_1.setPadding ( new Insets ( 290, 0, 10, 170 ) );
// Abaixo ajustamos o total de colunas do
TextField
textField_1.setPrefColumnCount ( 2 );
textField_1.setPromptText ( "pesq" );
ctx.setFont ( Font.font ( "Tahoma", FontWeight.NORMAL, 12 ) );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "Pesquisa", 170, 280 );
textField_1.setOnKeyPressed ( new EventHandler < KeyEvent > ( ) {
@Override
public void handle ( KeyEvent event ) {
limitTextField ( textField_1, 2 );
if ( event.getCode ( ) == KeyCode.ENTER ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
ctx.setFill ( Color.BLUE );
// convertendo string para inteiro
pesq = Integer.parseInt ( textField_1.getText ( ) );
if ( Integer.parseInt ( textField_1.getText ( ) ) >= 0
&& Integer.parseInt ( textField_1.getText ( ) ) < 100 ) {
Arr ( Vet );
}
}
}
} );
ro_ot.getChildren ( ).add ( hbox_1 );
return 0;
}
//
/////////////////////////////////////////////////////////////////////////
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 Arr ( int Vet [ ] [ ] ) {
int i, j = 0;
StringBuilder str = new StringBuilder ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Imprimindo
abaixo o array de inteiros", 190, 80 );
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 14 ) );
for ( i = 0; i < TAM; i++ ) {
str.append ( "\n" );
for ( j = 0; j < TAM; j++ ) {
str.append ( "\t" );
if ( Vet [ i ] [ j ] == pesq ) {
if ( Vet [ i ] [ j ] >= 0 && Vet [ i ] [ j ] <= 9 )
str.append ( "0" );
Toolkit.getDefaultToolkit ( ).beep ( );
str.append ( Vet [ i ] [ j ] );
}
}
}
ctx.setFill ( Color.BLACK );
ctx.fillText ( " " + str, 138, 100 );
}
//
////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
stage.setTitle ( "JAVAFX -
ARRAY ALEATÓRIO INVISÍVEL" );
// Criando moldura e dando efeitos
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: red;" );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
ARRAY ALEATÓRIO INVISÍVEL", 180, 50 );
int [ ] [ ] Vet = new int [ TAM ] [ TAM ];
int i, j = 0;
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 14 ) );
for ( i = 0; i < TAM; i++ ) {
for ( j = 0; j < TAM; j++ ) {
Vet [ i ] [ j ] = ( int ) ( Math.random ( ) * 100 );
}
}
Arr ( Vet );
Pesquisa ( Vet );
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.