Já que venho falando de array nos últimos posts de java,
é muito justo que agora eu mostre um exemplo de pesquisa
em seus valores, aliás querer saber se um item especificado
por uma entrada de dados, existe num array de string,
é um procedimento muito normal.
Uma rotina de código comandada por um laço for percorre
o array de string comparando cada valor com a string de entada,
procurando por igualdade em suas posições, até que encontre.
Quando encontrado, uma caixa de diálogo do javafx é acionada,
informando que a fruta que foi pesquisada está mesmo,
na imagem de fundo do programa.
Quando não encontra, o procedimento é parecido,
só que a mensagem da caixa de diálogo vem informando que
aquela fruta não está na imagem de fundo do programa.
Sobre a parte gráfica, que foi escolhida opcionalmente por mim,
Mostra a beleza de uma bela imagem que é carregada com os
recursos da impressionante biblioteca javafx, contando ainda
com um menu no estilo profissional com três opções,
que são: sobre, sair e pesquisar.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa
é muito justo que agora eu mostre um exemplo de pesquisa
em seus valores, aliás querer saber se um item especificado
por uma entrada de dados, existe num array de string,
é um procedimento muito normal.
Uma rotina de código comandada por um laço for percorre
o array de string comparando cada valor com a string de entada,
procurando por igualdade em suas posições, até que encontre.
Quando encontrado, uma caixa de diálogo do javafx é acionada,
informando que a fruta que foi pesquisada está mesmo,
na imagem de fundo do programa.
Quando não encontra, o procedimento é parecido,
só que a mensagem da caixa de diálogo vem informando que
aquela fruta não está na imagem de fundo do programa.
Sobre a parte gráfica, que foi escolhida opcionalmente por mim,
Mostra a beleza de uma bela imagem que é carregada com os
recursos da impressionante biblioteca javafx, contando ainda
com um menu no estilo profissional com três opções,
que são: sobre, sair e pesquisar.
Veja abaixo imagens do programa em execução:
Veja abaixo o código do programa
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.stage.Stage;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
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.control.TextInputDialog;
import javafx.scene.effect.DropShadow;
import javafx.scene.layout.BorderPane;
public class PROJETO extends Application {
String str_2;
String str_3;
String pesq;
@Override
public void start ( Stage stage ) throws FileNotFoundException {
Image image = new Image (
new FileInputStream (
"C:\\Users\\Pedras_Vivas\\Desktop\\Frutas\\frutas_do_verão.PNG" ) );
ImageView imageView = new ImageView ( image );
BorderPane root = new BorderPane ( );
imageView.setX ( 21 );
imageView.setY ( 21 );
imageView.setFitHeight ( 1035 );
imageView.setFitWidth ( 780 );
imageView.setPreserveRatio ( true );
root.getChildren ( ).add ( imageView );
//
/////////////////////////////////////////////////////////////////////
// BorderPane root = new BorderPane ( );
Canvas canvas = new Canvas ( 824, 629 );
GraphicsContext ctx = canvas.getGraphicsContext2D
( );
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 30 ) );
Scene scene = new Scene ( root, 819, 624 );
ctx.setLineWidth ( 22.0 );
ctx.setStroke ( Color.RED );
ctx.strokeRect ( 10, 35, 800, 580 );
stage.setTitle ( "ARRAY:
PESQUISANDO STRING" );
ctx.setFill ( Color.WHITE );
DropShadow ds = new DropShadow ( );
ds.setOffsetY ( 3.0f );
ds.setColor ( Color.color ( 0.9f, 0.4f, 0.9f ) );
ctx.setEffect ( ds );
ctx.fillText ( "ARRAY:
PESQUISANDO STRING", 200, 100 );
//
/////////////////////////////////////////////////////////////////////
imageView.setPreserveRatio ( true );
root.getChildren ( ).add ( canvas );
stage.setScene ( scene );
stage.show ( );
//
/////////////////////////////////////////////////////////////////////
MenuBar m_nu_1 = new MenuBar ( );
Menu m_nu = new Menu ( "Arq" );
MenuItem exd = new MenuItem ( "Sair" );
MenuItem te_d = new MenuItem ( "Sobre" );
MenuItem pe_sq = new MenuItem ( "Pesquisar" );
m_nu.getItems ( ).addAll ( te_d, exd, pe_sq );
m_nu_1.getMenus ( ).add ( m_nu );
root.setTop ( m_nu_1 );
//
/////////////////////////////////////////////////////////////////////
exd.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
stage.close ( );
}
} );
te_d.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 ( "Progrma
criado por Samuel Lima" );
alert.showAndWait ( );
}
} );
//
//////////////////////////////////////////////////////////////////
pe_sq.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent e ) {
String [ ] Frutas
= { "Uva",
"Jabuticaba",
"Melão",
"Melancia",
"Morango",
"Maçã",
"Abacaxi",
"Carambola",
"Pera",
"Laranja" };
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 15 ) );
ctx.setFill ( Color.BLUE );
TextInputDialog dialogoNome = new TextInputDialog ( );
dialogoNome.setTitle ( "Pesquisar
fruta" );
dialogoNome.setHeaderText ( "Entre com o
nome de uma fruta " );
dialogoNome.setContentText ( "Fruta: " );
dialogoNome.showAndWait ( ).ifPresent ( v -> pesq = v );
Alert alert = new Alert ( AlertType.INFORMATION );
alert.setTitle ( "Atenção" );
alert.setHeaderText ( null );
boolean achou = false;
for ( String frutas : Frutas ) {
if ( frutas.equals ( pesq ) ) {
achou = true;
}
}
if ( achou ) {
alert.setContentText ( "\nA fruta
" + pesq
+ " foi
encontrada na imagem " );
alert.showAndWait ( );
} else {
alert.setContentText ( "\nA fruta
" + pesq
+ " não foi
encontrada na imagem " );
alert.showAndWait ( );
}
}
} );
// /////////////////////////////////////////////////////////////////////
exd.setAccelerator ( new KeyCodeCombination ( KeyCode.E,
KeyCombination.CONTROL_DOWN ) );
te_d.setAccelerator ( new KeyCodeCombination ( KeyCode.C,
KeyCombination.CONTROL_DOWN ) );
pe_sq.setAccelerator ( new KeyCodeCombination ( KeyCode.D,
KeyCombination.CONTROL_DOWN ) );
stage.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.