a classe pública Polygon, que se
extende da classe Shape, mas o essencial:
Ela cria um polígono definido por um
array de coordenadas, e estas coordenadas,
são aplicadas aos parâmetros do polígono,
tais como: largura, altura, ou desvio
em graus para que se chegue a um ideal.
Aqui estamos criando dois triângulos,
e colocando um ao oposto do outro
de tal maneira que os dois se transformem
numa única figura, "A Estrela de Davi".
Veja abaixo uma imagem do programa em execução:
Veja abaixo o código do programa:
import java.io.FileNotFoundException;
import javafx.scene.shape.Polygon;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
import javafx.scene.layout.Pane;
public class PROJETO extends Application {
Pane root = new Pane ( );
Canvas canvas = new Canvas ( 600, 310 );
GraphicsContext ctx = canvas.getGraphicsContext2D
( );
Scene scene = new Scene ( root, 600, 310, Color.WHITE );
Polygon tr_1 = new Polygon ( );
Polygon tr_2 = new Polygon ( );
// criando a transformação de rotação
Rotate rotate_1 = new Rotate ( );
Rotate rotate_2 = new Rotate ( );
//
/////////////////////////////////////////////////////////////////////////
public void Informe ( ) {
ctx.setFont ( Font.font ( "Arial", FontWeight.NORMAL, 13 ) );
ctx.setFill ( Color.RED );
ctx.fillText ( "Por: ", 50, 230 );
ctx.setFill ( Color.BLUE );
ctx.fillText ( "Samuel
Lima", 80, 230 );
ctx.setFill ( Color.BLACK );
ctx.fillText ( "sa_sp10@hotmail.com", 50, 245 );
ctx.setFill ( Color.RED );
ctx.fillText ( " MUITO
OBRIGADO", 250, 280 );
}
//
/////////////////////////////////////////////////////////////////////////
public void start ( Stage stage ) throws FileNotFoundException {
stage.setTitle ( "JAVAFX -
DESENHANDO A ESTRELA DE DAVI" );
ctx.setFont ( Font.font ( "Helvetica", FontWeight.BOLD,
FontPosture.ITALIC, 15 ) );
// Criando moldura e dando efeitos
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;" );
tr_1.getPoints ( ).addAll (
new Double [ ] { 0.0, 0.0, 15.0, 170.0, 170.0, 90.0, } );
tr_2.getPoints ( ).addAll (
new Double [ ] { 22.0, 0.0, 0.0, 170.0, 170.0, 90.0, } );
ctx.setFill ( Color.RED );
ctx.fillText ( "JAVAFX -
DESENHANDO A ESTRELA DE DAVI", 145, 40 );
tr_1.setFill ( Color.TRANSPARENT );
// Localização - coluna
tr_1.setLayoutX ( 94 );
// Localização - linha
tr_1.setLayoutY ( 52 );
tr_1.setTranslateX ( 122 );
tr_1.setTranslateY ( 60 );
// Definindo o ângulo para a rotação
rotate_1.setAngle ( -28 );
tr_1.setStyle ( " -fx-stroke:
blue;"
+ " -fx-stroke-width: 10;" );
// Adicionando a rotação ao triângulo
tr_1.getTransforms ( ).addAll ( rotate_1 );
//
/////////////////////////////////////////////////////////////////////
// Localização - coluna
tr_2.setLayoutX ( 166 );
// Localização - linha
tr_2.setLayoutY ( 34 );
tr_2.setTranslateX ( 122 );
tr_2.setTranslateY ( 20 );
tr_2.setFill ( Color.TRANSPARENT );
// Definindo o ângulo para a rotação
rotate_2.setAngle ( 25 );
tr_2.setStyle ( " -fx-stroke:
blue;"
+ "
-fx-stroke-width: 10;" );
// Adicionando a rotação ao triângulo
tr_2.getTransforms ( ).addAll ( rotate_2 );
//
//////////////////////////////////////////////////////////////////////
Informe ( );
stage.setScene ( scene );
root.getChildren ( ).addAll ( canvas, tr_1, tr_2 );
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.