Um evento indica que algo aconteceu quando por exemplo
uma tecla for pressionada, seja para desbloquear ou digitar,
estes eventos são passados para o método OnKeyPressed,
que é o nosso caso, mas dependendo do tipo de evento
pode ser passado para os métodos, onKeyTyped ou onKeyReleased.
Aqui está um bom exemplo de manipulação de eventos de teclado
com o uso especial da tecla "ENTER", que está
sendo usada para chamar outras janelas do programa.
Além do pacote default, que possui o PROJETO.java,
O programa está dividido em dois outros pacotes,
que são: Teste contendo a classe Nova.java
e Teste_1 contendo a classe Newclass.java.
Na primeira tela temos a impressão de um ArrayList
de objetos Strings, este ArrayList está declarado
na classe Newclass e sendo imprimido no stage da
classe principal.
Na segunda tela temos a impressão de mais um arrayList,
só que este imprime elementos inteiros que foram gerados
através de um contador com loop for e inserido na lista.
Na terceira tela temos a visualização de uma bela imagem
de feliz ano novo em homenagem a todos os programadores,
em especial os deste grupo.
Veja abaixo imagens do programa em execução:
Veja abaixo os arquivos com o código do programa:
uma tecla for pressionada, seja para desbloquear ou digitar,
estes eventos são passados para o método OnKeyPressed,
que é o nosso caso, mas dependendo do tipo de evento
pode ser passado para os métodos, onKeyTyped ou onKeyReleased.
Aqui está um bom exemplo de manipulação de eventos de teclado
com o uso especial da tecla "ENTER", que está
sendo usada para chamar outras janelas do programa.
Além do pacote default, que possui o PROJETO.java,
O programa está dividido em dois outros pacotes,
que são: Teste contendo a classe Nova.java
e Teste_1 contendo a classe Newclass.java.
Na primeira tela temos a impressão de um ArrayList
de objetos Strings, este ArrayList está declarado
na classe Newclass e sendo imprimido no stage da
classe principal.
Na segunda tela temos a impressão de mais um arrayList,
só que este imprime elementos inteiros que foram gerados
através de um contador com loop for e inserido na lista.
Na terceira tela temos a visualização de uma bela imagem
de feliz ano novo em homenagem a todos os programadores,
em especial os deste grupo.
Veja abaixo imagens do programa em execução:
Veja abaixo os arquivos com o código do programa:
//Classe principal PROJETO.java
import Teste_1.*;
import Teste.*;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.control.Button;
import javafx.scene.effect.DropShadow;
import javafx.scene.input.KeyCode;
public class PROJETO extends Application {
static Stage stage;
static Button btn_1 = new Button ( "TECLE
ENTER" );
static int b = 0, i;
static String str = " ";
static String str_2 = " ";
static String str_4 = " ";
static String str_5 = " ";
static Text t = new Text ( );
static Text t_1 = new Text ( );
static Text t_2 = new Text ( );
static DropShadow ds = new DropShadow ( );
static Canvas canvas = new Canvas ( 620, 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, 620, 410 );
//
////////////////////////////////////////////////////////////////////////
public static Node But_ton_3 ( Stage stage ) {
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 ( 352 );// //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 ) {
Nova.start ( stage );
}
});
return btn_1;
}
//
////////////////////////////////////////////////////////////////////////
public static Node Arr_List ( ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
Group y = new Group ( );
for ( i = 0; i < Newclass.arr_List.size ( ); i++ ) {
if ( i >= 0 && i <= 15 ) {
b++;
str_2 += b + "\n";
str += Newclass.arr_List.get ( i ) + "\n";
}
if ( i >= 16 && i <= 32 ) {
b++;
str_4 += b + "\n";
str_5 += Newclass.arr_List.get ( i ) + "\n";
}
}
ctx.setFill ( Color.RED );
ctx.fillText ( str_2, 170, 110 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( str, 190, 110 );
ctx.setFill ( Color.RED );
ctx.fillText ( str_4, 370, 110 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( str_5, 390, 110 );
ctx.setFill ( Color.RED );
ctx.fillText ( str_2, 170, 110 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( str, 190, 110 );
ctx.setFill ( Color.RED );
ctx.fillText ( str_4, 370, 110 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( str_5, 390, 110 );
return y;
}
//
/////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) throws Exception {
stage.setTitle ( "JAVAFX -
EVENTOS DO TECLADO" );
ro_ot.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
10;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: blue;" );
t.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
t_1.setFont ( Font.font ( null, FontWeight.BOLD, 13 ) );
ds.setOffsetY ( 3.0f );
ds.setColor ( Color.color ( 0.4f, 0.4f, 0.4f ) );
t.setX ( 180 );
t.setY ( 50 );
t.setEffect ( ds );
t_1.setFill ( Color.BLACK );
t.setText ( "JAVAFX -
EVENTOS DO TECLADO" );
t_1.setX ( 240 );
t_1.setY ( 70 );
t_1.setFill ( Color.RED );
t_1.setEffect ( ds );
t_1.setText ( "Criado por
Samuel Lima" );
t_2.setX ( 210 );
t_2.setY ( 90 );
t_2.setFill ( Color.BLUE );
t_2.setEffect ( ds );
t_2.setText ( "Imprimindo
abaixo ArrayList de Strings" );
But_ton_3 ( stage );
Arr_List ( );
ro_ot.getChildren ( ).addAll ( t, t_1, t_2, canvas, borderPane, btn_1 );
stage.setScene ( sce_ne );
stage.show ( );
}
//
/////////////////////////////////////////////////////////////////////////
public static void main ( String [ ] args ) {
Application.launch ( args );
}
}
//Classe Nova.java
package Teste;
import java.util.ArrayList;
import Teste_1.*;
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.scene.effect.DropShadow;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class Nova {
static Text t = new Text ( );
static Text t_1 = new Text ( );
static Text t_2 = new Text ( );
static DropShadow ds = new DropShadow ( );
static Newclass pro = new Newclass ( );
static Button btn_1 = new Button ( "TECLE
ENTER" );
static int b = 0, i;
static String str = " ";
static String str_2 = " ";
static String str_4 = " ";
static String str_5 = " ";
static Canvas canvas = new Canvas ( 620, 410 );
static GraphicsContext ctx = canvas.getGraphicsContext2D
( );
static Pane root = new Pane ( );
static Scene scene = new Scene ( root, 620, 410 );
//Declarando ArrayList com valor pré-determinado
static ArrayList < Integer > arrList = new ArrayList < > ( 100 );
//
////////////////////////////////////////////////////////////////////////
public static Node But_ton_3 ( Stage stage ) {
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 ( 352 );// //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 ) {
try {
Newclass.start ( stage );
} catch (Exception e1) {
// TODO Auto-generated catch
block
e1.printStackTrace();
}
}
});
return btn_1;
}
////////////////////////////////////////////////////////////////////////////
public static Node Arr_List ( ) {
Group y = new Group ( );
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 14 ) );
ctx.setFill ( Color.BLACK );
//Preenchendo o ArrayList com laço for
for ( i = 1; i < 101; i++ ) {
arrList.add ( i );
}
for ( i = 0; i < arrList.size ( ); i++ ) {
if ( i >= 0 && i <= 19 ){
if ( i >= 0 && i < 9 ){
str += "0";
}
if ( i >= 0 && i <= 19 ){
str += arrList.get ( i ) + " ";
}
}
if ( i == 20 || i == 40 || i == 60 || i == 80 ) {
str_2 += "\n";
}
if ( i >= 20 && i <= 100 )
str_2 += arrList.get ( i ) + " ";
}
ctx.fillText ( str, 50, 120 );
ctx.fillText ( str_2, 52, 120 );
return y;
}
////////////////////////////////////////////////////////////////////////////
public static void start ( Stage stage ) {
stage.setTitle ( "JAVAFX -
EVENTOS DO TECLADO" );
root.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
10;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: red;" );
t.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
t_1.setFont ( Font.font ( null, FontWeight.BOLD, 13 ) );
ds.setOffsetY ( 3.0f );
ds.setColor ( Color.color ( 0.4f, 0.4f, 0.4f ) );
t.setX ( 180 );
t.setY ( 50 );
t.setEffect ( ds );
t_1.setFill ( Color.BLACK );
t.setText ( "JAVAFX -
EVENTOS DO TECLADO" );
t_1.setX ( 240 );
t_1.setY ( 70 );
t_1.setFill ( Color.RED );
t_1.setEffect ( ds );
t_1.setText ( "Criado por
Samuel Lima" );
t_2.setX ( 210 );
t_2.setY ( 90 );
t_2.setFill ( Color.BLUE );
t_2.setEffect ( ds );
t_2.setText ( "Imprimindo
abaixo ArrayList de inteiros" );
Arr_List ( );
But_ton_3 ( stage );
root.getChildren ( ).addAll ( t, t_1, t_2, canvas, btn_1 );
stage.setScene ( scene );
stage.show ( );
}
//
////////////////////////////////////////////////////////////////////////
}
//Classe Newclass.java
package Teste_1;
import java.util.ArrayList;
import java.util.Arrays;
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.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.scene.effect.DropShadow;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
public class Newclass {
public static Text t = new Text ( );
public static Text t_1 = new Text ( );
public static Text t_2 = new Text ( );
public static DropShadow ds = new DropShadow ( );
public static ImageView imageView = new ImageView ( );
public static Canvas canvas = new Canvas ( 620, 410 );
public static GraphicsContext ctx = canvas.getGraphicsContext2D ( );
public static Pane root = new Pane ( );
public static Scene scene = new Scene ( root, 620, 410 );
public static int b = 0, i;
public static String str = " ";
public static String str_2 = " ";
public static String str_4 = " ";
public static String str_5 = " ";
public static ArrayList < String > arr_List = new ArrayList < > ( Arrays.asList (
"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 Node Arr_List ( ) {
Group y = new Group ( );
for ( i = 0; i < arr_List.size ( ); i++ ) {
if ( i >= 0 && i <= 15 ) {
b++;
str_2 += b + "\n";
str += arr_List.get ( i ) + "\n";
}
if ( i >= 16 && i <= 32 ) {
b++;
str_4 += b + "\n";
str_5 += arr_List.get ( i ) + "\n";
}
}
ctx.setFill ( Color.RED );
ctx.fillText ( str_2, 170, 100 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( str, 190, 100 );
ctx.setFill ( Color.RED );
ctx.fillText ( str_4, 370, 100 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( str_5, 390, 100 );
return y;
}
////////////////////////////////////////////////////////////////////////////
public static int Image_View ( ) throws FileNotFoundException{
Image image = new Image (
new FileInputStream (
"C:\\Users\\Programador\\Desktop\\Foto\\ano
novo.PNG" ) );
imageView = new ImageView ( image );
imageView.setX ( 70 );
imageView.setY ( 80 );
imageView.setFitHeight ( 1020 );
imageView.setFitWidth ( 480 );
imageView.setPreserveRatio ( true );
return 0;
}
public static void start ( Stage stage ) throws FileNotFoundException {
stage.setTitle ( "JAVAFX -
EVENTOS DO TECLADO" );
t.setFont ( Font.font ( null, FontWeight.BOLD, 18 ) );
t_1.setFont ( Font.font ( null, FontWeight.BOLD, 13 ) );
ds.setOffsetY ( 3.0f );
ds.setColor ( Color.color ( 0.4f, 0.4f, 0.4f ) );
t.setX ( 180 );
t.setY ( 50 );
t.setFill ( Color.BLACK );
t.setEffect ( ds );
t.setText ( "JAVAFX -
EVENTOS DO TECLADO" );
t_1.setX ( 170 );
t_1.setY ( 70 );
t_1.setFill ( Color.RED );
t_1.setEffect ( ds );
t_1.setText ( "FELIZ 2018
PARA TODOS OS PROGRAMADORES" );
t_2.setEffect ( ds );
t_2.setText ( "Criado por
Samuel Lima" );
t_2.setFill ( Color.BLACK );
t_2.setX ( 240 );
t_2.setY ( 385 );
root.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
10;" + "-fx-border-insets: 5;"
+ "-fx-border-radius: 5;" + "-fx-border-color:
green;" );
Image_View ( );
root.getChildren ( ).addAll ( t, t_1, t_2, canvas, imageView );
stage.setScene ( scene );
stage.show ( );
return;
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.