Este excelente contador com retorno,
tem suas contagens estabelecidas entre 0 e 9,
mas sempre retorna para o inicio e segue
assim infinitamente se não for interrompido.
O código é passivo e só serve como base
para se criar outros programas mais complexos.
Veja abaixo uma imagem do programa em execução:
Veja um vídeo do programa funcionando:
Veja abaixo o código do programa:
tem suas contagens estabelecidas entre 0 e 9,
mas sempre retorna para o inicio e segue
assim infinitamente se não for interrompido.
O código é passivo e só serve como base
para se criar outros programas mais complexos.
Veja abaixo uma imagem do programa em execução:
Veja um vídeo do programa funcionando:
Veja abaixo o código do programa:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.stage.Stage;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.event.EventHandler;
import javafx.scene.paint.Color;
import javafx.util.Duration;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.animation.*;
/////////////////////////////////////////////////////////////////////////////
public class PROJETO extends Application {
private static Timeline videoTick_1;
static int a = 0, b = 0, c = 0, d = 0, k = 0, w = 0;
static String str_0 = "";
static String str_1 = "";
static Canvas canvas = new Canvas ( 490, 310 );
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, 310, Color.BLACK );
//
/////////////////////////////////////////////////////////////////////////
public void Informe ( ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.BOLD, 13 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "Por: ", 80, 80 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Samuel
Lima", 120, 80 );
ctx.setFill ( Color.YELLOW );
ctx.fillText ( "sa_sp10@hotmail.com", 80, 95 );
ctx.setFill ( Color.CHARTREUSE );
ctx.fillText ( " MUITO
OBRIGADO", 200, 125 );
}
//
/////////////////////////////////////////////////////////////////////////
public static int Sleep_1 ( int x ) {
ctx.setFont ( Font.font ( "alarm
clock", FontWeight.NORMAL, 140 ) );
Duration duration = Duration.millis ( x );
videoTick_1 = new Timeline ( new KeyFrame ( duration,
new EventHandler < ActionEvent > ( ) {
public void handle ( ActionEvent actionEvent ) {
//Coluna, linha,
comprimento, altura
ctx.clearRect ( 160, 140, 500, 300 );
ctx.setFill ( Color.RED );
ctx.fillText ( "0", 180, 250 );
ctx.setFill ( Color.RED );
ctx.fillText ( "" + k, 250, 250 );
k++;
System.out.println ( k );
if ( k == 10 ) {
// As variável k resetada para
// o retorno do
contador
k = 0;
}
}
} ) );
videoTick_1.setCycleCount ( Animation.INDEFINITE );
videoTick_1.playFromStart ( );
return k;
}
//
/////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) {
stage.setTitle ( "JAVAFX -
CONTADOR CRESCENTE COM RETORNO" );
// Dando uns efeitos na moldura
ro_ot.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
12;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: blue;" );
//Usando fonte em italic
ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD,
FontPosture.ITALIC, 16 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
CONTADOR CRESCENTE COM RETORNO", 60, 40 );
Informe ( );
Sleep_1 ( 1000 );
ro_ot.getChildren ( ).addAll ( canvas, borderPane );
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.