A API do JavaFX fornece três
construtores da classe Label
para criar rótulos, acompanhe:
// Criando um rótulo vazio
Label lb1_1 = new Label ();
// Um rótulo com o elemento de texto
Label lb1_2 = new Label ( "texto" );
// Um rótulo com o elemento de texto e o ícone gráfico
Image image = new Image ( getClass ( ). GetResourceAsStream ( "Imagem.png" ) );
Label lbl_3 = new Label ( "texto", new ImageView ( imagem ) );
Neste exemplo estamos adicionando
um gif animado que foi criado por mim mesmo
a alguns anos atrás, e armazenado originalmente
no 4shared, além de exibir o gif com seus efeitos
ainda podemos rotacioná-lo clicando no botão
clicke-me.
Clicando no link deste post o leitor tem em mãos o código,
o gif animado e um vídeo que comprova o funcionamento do programa.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o gif animado:
Veja abaixo o vídeo do programa:
Veja abaixo o código do programa:
construtores da classe Label
para criar rótulos, acompanhe:
// Criando um rótulo vazio
Label lb1_1 = new Label ();
// Um rótulo com o elemento de texto
Label lb1_2 = new Label ( "texto" );
// Um rótulo com o elemento de texto e o ícone gráfico
Image image = new Image ( getClass ( ). GetResourceAsStream ( "Imagem.png" ) );
Label lbl_3 = new Label ( "texto", new ImageView ( imagem ) );
Neste exemplo estamos adicionando
um gif animado que foi criado por mim mesmo
a alguns anos atrás, e armazenado originalmente
no 4shared, além de exibir o gif com seus efeitos
ainda podemos rotacioná-lo clicando no botão
clicke-me.
Clicando no link deste post o leitor tem em mãos o código,
o gif animado e um vídeo que comprova o funcionamento do programa.
Veja abaixo uma imagem do programa em execução:
Veja abaixo o gif animado:
Veja abaixo o vídeo do programa:
Veja abaixo o código do programa:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
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.control.Label;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.transform.Rotate;
import javafx.util.Duration;
public class PROJETO extends Application {
public static Label lbl = new Label ( );
static Canvas canvas = new Canvas ( 620, 430 );
static GraphicsContext ctx = canvas.getGraphicsContext2D
( );
static Pane ro_ot = new Pane ( );
static Scene sce_ne = new Scene ( ro_ot, 620, 430 );
static Button btn_1 = new Button ( "CLICK -
ME" );
//
/////////////////////////////////////////////////////////////////////////
public static void Informe ( ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "Por: ", 250, 275 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Samuel
Lima", 280, 275 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "sa_sp10@hotmail.com", 250, 290 );
}
//
////////////////////////////////////////////////////////////////////////
public static Node Label_1 ( ) {
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 ( 65 );// //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.setOnAction ( new EventHandler < ActionEvent > ( ) {
@Override
public void handle ( ActionEvent event ) {
RotateTransition rotate = new RotateTransition ( );
// Definindo a duração
da transição
rotate.setDuration ( Duration.millis ( 1000 ) );
// Configurando o nó
para a transição
rotate.setNode ( lbl );
// Ajustando o eixo da
rotação
rotate.setAxis ( Rotate.Y_AXIS );
// Ajustando o ângulo
da rotação
rotate.setByAngle ( 360 );
// Definindo a
contagem de ciclos para a
// transição
rotate.setCycleCount ( 50 );
// Configurando o
valor do reverso automático
// para falso
rotate.setAutoReverse ( false );
rotate.play ( );
Informe ( );
}
} );
return btn_1;
}
//
////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) throws FileNotFoundException {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 15 ) );
stage.setTitle ( "JAVAFX -
COLORINDO LABEL E APLICANDO EFEITO" );
//Criando moldura e dando efeitos
ro_ot.setStyle ( "-fx-padding:
5;" + "-fx-border-style: solid inside;"
+ "-fx-border-width:
15;" + "-fx-border-insets: 5;"
+ "-fx-border-radius:
5;" + "-fx-border-color: black;");
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
COLORINDO LABEL E APLICANDO EFEITO", 120, 50 );
//Posiciona o label na horizontal
lbl.setLayoutX ( 200 );
//Posiciona o label na vertical
lbl.setLayoutY ( 90 );
//Endereço para abrir imagem
Image image = new Image ( new FileInputStream (
"H:\\eclipse - luna
java\\PROJETOS\\PROJETO\\src\\Foto\\braso_gif.gif" ) );
lbl.setGraphic ( new ImageView ( image ) );
Label_1 ( );
ro_ot.getChildren ( ).addAll ( canvas, btn_1, lbl );
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.