Javafree

Tipos de dados em JavaFX

Publicado por jesuino em 06/09/2009 - 15.294 visualizações

Tipos de dados do JavaFX

Nosso objetivo nesse tutorial é apresentar os tipos de dados básicos de JavaFX.Em JavaFX temos os tipo já conhecidos como String, números, caracteres além do tipo que especifica uma duração e os tipos especias Void e Null.
Iremos apresentar os tipos String, Numbers e Integers, Boolean, Duration assim como os especiais Void e Null.


String
Com certeza você já deve ter visto uma String por ai em outra linguagem. Na verdade, String são somente conjunto de caracteres. É errado falar que String são palavras, pois Strings representam conjunto de caracteres, sendo que esses podem ser números, caracteres especiais entre outros. Representamos as Strings usando ""(aspas duplas) ou ''(aspas simples):

Quote:

Exemplos de String
"Maria"
'Maria'
"123456"
'+1000Graussssss'

Podemos salvar os valores dessas Strings em uma variável:

Uma característica interessante do JavaFX é a capacidade de declaração de blocos de código dentro de Strings. Para isso usamos as chaves {}:

Colocando suas Strings entre chaves dentro de outras Strings permite você juntar o conteúdo(concatenar).

Infelizmente a nossa forma linda de usar o operador + em Java não se aplica em JavaFX:


Se tentar usar o que está ai em cima, um erro em tempo de compilação é gerado:

Quote:

tutorial.fx:3: + cannot be applied to strings. Use a string expression "{primei
a}{segunda}"
var terceira = primeira + segunda;
^
1 error




Tipos de dados numéricos
Em JavaFX os tipos de dados para números são, engenhosamente, 2: Number e Integer. Number são para tipos de dados com casa decimal e Integer para tipos de dados inteiros. Esses tipos de dados deixam claro que a simplicidade é um dos pontos fortes de JavaFX.
Declarar variáveis desse tipo pode ser usando a declaração por atribuição, onde você atribui uma valor correspondente ao tipo de dado que a variável vai representar:

Ou:

A segunda forma é mais recomendada por aumentar a visibilidade do código e a organização.

Variáveis do tipo Inteiro não aceitam número decimal, elas excluem a parte decimal caso valores decimanis sejam atribuídos a elas. Não há arredondamento, inclusive um "Warning"(possible loss of precision - possível perda de precisão) é gerado quando você atribui literais com casas decimais para variáveis do tipo Integer:

Isso gera os Warnings:

Quote:

tutorial.fx:7: warning: possible loss of precision
found : Number
required: Integer
a = 1.3;
^
tutorial.fx:11: warning: possible loss of precision
found : Number
required: Integer
a = 1.7;
^
2 warnings

Nota: A equipe do JavaFree encontrou um pequeno Bug ao realizar um exemplo para demonstrar os tipos de dados em JavaFX. O seguinte código:

Traz a mensagem:

Quote:

Note: An internal error has occurred in the OpenJFX compiler. Please file a bug
at the
Openjfx-compiler issues home (https://openjfx-compiler.dev.java.net/Issues)
after checking for duplicates. Include in your report:
- the following diagnostics
- file C:\Documents and Settings\Administrador\Configuraþ§es locais\Temp\javafx
err_5570485239968470221.txt
- and if possible, the source file which triggered this problem.
Thank you.
tutorial.fx:5: inconvertible types
found : java.lang.Integer
required: java.lang.Float
println("b: {if(b instanceof Number)'Number' else 'Integer'}");
^
1 error

Um "Issue" foi aberto: http://javafx-jira.kenai.com/browse/JFXC-3458

Tipos booleanos
São tipos que contém somente dois possível valores:verdadeiro ou falso(true e false). O uso é simples:

Em instruções como o IF ou o WHILE, você utiliza uma variável booleana como ponto da tomada de decisão. Olhe o exemplo:

Rodando esse código o resultado é:

Quote:

Testando booleanos com o comando IF
a é verdadeiro: true
Testando booleanos com o comando WHILE
true
true
true
true
true
false

Temos um operador especial para variáveis do tipo Boolean, é o "not", que inverte o valor da variável, retorna o contrário do que a variável representa:

Isso imprime:

Quote:

A é true, b é false


Durations
Uma dos tipos de variáveis mais impressionantes em JavaFX. Representa quantidade de tempo. Você pode salvar valores que representam unidades de tempo, como minutos, segundos, horas, milissegundos entre outros.
Esse tipo é amplamente utilizado em animações e jogos. Observe algumas literais desse tipo:

Variáveis que são responsáveis por armazenar valores de Durations devem ser declaradas com a palavra chave Duration:

Se você tentar imprimir a variável em uma String, sempre será usado a unidade Milissegundos:

O código acima resulta em:

Quote:

Você está 10000ms atrasado para nosso estudo de JavaFX
Você está 18000000ms atrasado para nosso estudo de Trasitions em JavaFX...

Experimente conversar com seus amigos, namorada(o) e família assim, somente em milissegundos, pode ser uma boa experiência, ou não.

Void
Void representa, de grosso modo, nada! Você utiliza para indicar que uma função não retorna valores, quando é chamada:

Ao contrário de Java, o void de JavaFX é escrito com a primeira letra em maiúsculo. Então, cuidado!
Null
Null é quando uma variável representa um objeto, mas este não foi instanciado, não existe na memória ainda. Lembrando que variáveis do tipo String e do tipo Integer são inicializadas como uma String vazia e 0 respectivamente:


Imprime:

Quote:

0

null


Conclusão
É evidente que em JavaFX é mais simples nesse ponto de tipos de dados. Outras peculiaridades de alguns tipos não foram apresentadas para focar a apresentação dos tipos.

Fonte:
Tutorial da Sun sobre tipos de dados em JavaFX: http://java.sun.com/javafx/1/tutorials/core/dataTypes/




O que é JavaFX
Mais tutoriais sobre JavaFX