avril
2010
Hello!
Après avoir bien joué avec le Composer de NetBeans pour créer une interface JavaFX, je m’intéresse aujourd’hui un peu plus au code en lui-même.
On a accès au code auto généré par le Composer dans la source mais celui-ci n’est pas éditable. Toutefois en jouant sur les différents paramètres dans le Composer, on voit donc les changements et la façon dont l’éditeur gère le code.
Ensuite, la syntaxe n’est pas complexe mais peut paraitre un peu déroutante sur certains points. Retour sur le site de sun pour un peu d’aide : http://java.sun.com/javafx/1/tutorials/core/index.html
Plusieurs très bonnes leçons abordant facilement et progressivement les difficultés et différences propres à JavaFX dont voici le résumé :
- Déclarations:
– constantes : def constante = 100;
– variables : var maVariable; ou var maVariableTypée:Type;
– fonctions : function maFonction(arg1:type1, arg2:type2) { .. } où les arguments sont bien sûrs optionnels
ou bien function maFonction(arg1:type1, arg2:type2):typeDeRetour { .. return resultat; }
– classe:
public class Personne {
public var nom: String;
public var prenom: String;
}On retrouve héritage et abstraction :
abstract class maClasseAbstraite { …}
class Voiture extends Véhicule { ..}– objet :
var chanteur = Personne {
nom: « Johnny » ;
prenom: « Hallyday »;
}
– listes :
def weekDays = [« Mon », »Tue », »Wed », »Thu », »Fri »]; // days[0] pour accéder au premier élément
def nums = [1..100 step 3]; //liste des entiers de 3 en 3 jusque 100 : 1,4,7,…
def numérosPlusGrandQueVingt = nums[n | n > 20];
sizeof weekDays // renvoie 5
insert « Sat » into weekDays ; // ajoute Sat en fin de liste
insert « Sun » before weekDays[0]; // ajoute Sun en première place
delete weekDays[0]; //supprime Sun - Visibilité
Les déclaration tiennent compte de l’endroit où elle sont effectuées comme en Java.
On retrouve aussi les paramètres public, protected, package, ainsi que public-read(droits de lecture uniquement), public-init(droits de création de l’objet uniquement). - Commentaires java classiques : // une ligne et /* lignes multiples */
- Fonction d’entrée dans la classe : function run(args : String[]) { … }
A défaut de cette fonction, le compilateur considère que tout le code tapé est dans une fonction run « fictive ». - Types de données:
– String
– Number and Integer (mais possibilité de récupérer aussi les types Java)
– Boolean
– Duration : durée (5ms = 5 millisecondes ; 30m = 30 minutes …)
– Void
– Null
– Function Type - Chaines de caractères
def debut= « Une jolie « ;
def fin= « phrase. »;
def complet= « {debut}{fin} »;def test = true;
var s = « Le test est {if (test) « positif » else « négatif »} »; - Opérateurs classiques :
=, +, -, *, /, mod, ++, --, not, ==, !=, <, >, <= >=, and, or - Bind de variables : permet de lier une variable à une autre :
var a = « Hello »;
var b = bind a;b prendra toujours la valeur de a, on peut ainsi lier b non plus à a mais au résultat d’une fonction, une action utilisateur, …
Et voilà pour ce court extrait!
Bon code!

Un article de zeusviper