Ir ao conteúdo
  • Cadastre-se
Main.cpp

Java JavaFX - desenhando a estrela de Davi

Recommended Posts

Alguns dias sem programar em java
e já estou com saudades.
Que coisa linda é o JavaFX,
poderosa biblioteca do java para criação
de programas com janelas gráficas ricas
em detalhes e requintes.
O JavaFX vai muito além disto,
querem saber? comecem a pesquisar agora mesmo
e se surpreenda com todos os seus poderos recursos.
Mas o que chama mais atenção é o grau de facilidade
no aprendizado, para quem já tem bons conhecimentos
na parte lógica do java, ou ´para quem está migrando
de outras linguagens.
Mas o mundo é assim, estou satisfeito com o que sei
em java, C/C++, pro momento e devo alcançar outros mares.
Não temos muito o que dizer sobre
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:

 

star_davi.PNG.64252a8dc2c3d83c1b5cb3b0db2a1939.PNG

 

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 );
     }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×