<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BI, Finance and Fun! &#187; JavaFX</title>
	<atom:link href="https://blog.developpez.com/zeusviper/pcategory/javafx/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/zeusviper</link>
	<description></description>
	<lastBuildDate>Fri, 30 Apr 2010 14:03:35 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>JavaFX Coding!</title>
		<link>https://blog.developpez.com/zeusviper/p8890/javafx/javafx_coding</link>
		<comments>https://blog.developpez.com/zeusviper/p8890/javafx/javafx_coding#comments</comments>
		<pubDate>Fri, 30 Apr 2010 14:03:35 +0000</pubDate>
		<dc:creator><![CDATA[zeusviper]]></dc:creator>
				<category><![CDATA[JavaFX]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Hello! Après avoir bien joué avec le Composer de NetBeans pour créer une interface JavaFX, je m&#8217;intéresse aujourd&#8217;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&#8217;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&#8217;éditeur gère le code. Ensuite, la syntaxe n&#8217;est pas complexe mais peut paraitre [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Hello! </p>
<p>Après avoir bien joué avec le Composer de NetBeans pour créer une interface JavaFX, je m&rsquo;intéresse aujourd&rsquo;hui un peu plus au code en lui-même. </p>
<p>On a accès au code auto généré par le Composer dans la source mais celui-ci n&rsquo;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&rsquo;éditeur gère le code.</p>
<p>Ensuite, la syntaxe n&rsquo;est pas complexe mais peut paraitre un peu déroutante sur certains points. Retour sur le site de sun pour un peu d&rsquo;aide : http://java.sun.com/javafx/1/tutorials/core/index.html</p>
<p>Plusieurs très bonnes leçons abordant facilement et progressivement les difficultés et différences propres à JavaFX dont voici le résumé :
</p>
<p><span id="more-5"></span></p>
<ul>
<li><em>Déclarations:</em><br />
 &#8211; constantes : def constante = 100;<br />
 &#8211; variables : var maVariable;  ou var maVariableTypée:Type;<br />
 &#8211; fonctions : function maFonction(arg1:type1, arg2:type2) { .. } où les arguments sont bien sûrs optionnels<br />
ou bien function maFonction(arg1:type1, arg2:type2):typeDeRetour { .. return resultat; }<br />
 &#8211; classe:<br />
public class Personne {<br />
    public var nom: String;<br />
    public var prenom: String;<br />
}</p>
<p>On retrouve héritage et abstraction :<br />
abstract class maClasseAbstraite { &#8230;}<br />
class Voiture extends Véhicule { ..}</p>
<p> &#8211; objet :<br />
var chanteur = Personne {<br />
    nom: &laquo;&nbsp;Johnny&nbsp;&raquo; ;<br />
    prenom: &laquo;&nbsp;Hallyday&nbsp;&raquo;;<br />
}<br />
 &#8211; listes :<br />
def weekDays = [&laquo;&nbsp;Mon&nbsp;&raquo;,&nbsp;&raquo;Tue&nbsp;&raquo;,&nbsp;&raquo;Wed&nbsp;&raquo;,&nbsp;&raquo;Thu&nbsp;&raquo;,&nbsp;&raquo;Fri&nbsp;&raquo;];  // days[0] pour accéder au premier élément<br />
def nums = [1..100 step 3]; //liste des entiers de 3 en 3 jusque 100 : 1,4,7,&#8230;<br />
def numérosPlusGrandQueVingt = nums[n | n > 20];<br />
sizeof weekDays // renvoie 5<br />
insert &laquo;&nbsp;Sat&nbsp;&raquo; into weekDays ; // ajoute Sat en fin de liste<br />
insert &laquo;&nbsp;Sun&nbsp;&raquo; before weekDays[0]; // ajoute Sun en première place<br />
delete weekDays[0]; //supprime Sun
</li>
<li><em>Visibilité</em><br />
Les déclaration tiennent compte de l&rsquo;endroit où elle sont effectuées comme en Java.<br />
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&rsquo;objet uniquement).
</li>
<li><em>Commentaires java classiques :</em> // une ligne et /* lignes multiples */
</li>
<li><em>Fonction d&rsquo;entrée dans la classe : </em>function run(args : String[]) { &#8230; }<br />
A défaut de cette fonction, le compilateur considère que tout le code tapé est dans une fonction run &laquo;&nbsp;fictive&nbsp;&raquo;.
</li>
<li><em>Types de données: </em><br />
&#8211; String<br />
&#8211; Number and Integer (mais possibilité de récupérer aussi les types Java)<br />
&#8211; Boolean<br />
&#8211; Duration : durée (5ms = 5 millisecondes ; 30m = 30 minutes &#8230;)<br />
&#8211; Void<br />
&#8211; Null<br />
&#8211; Function Type</li>
<li><em>Chaines de caractères</em><br />
def debut= &laquo;&nbsp;Une jolie &laquo;&nbsp;;<br />
def fin= &laquo;&nbsp;phrase.&nbsp;&raquo;;<br />
def complet= &laquo;&nbsp;{debut}{fin}&nbsp;&raquo;;</p>
<p>def test = true;<br />
var s = &laquo;&nbsp;Le test est {if (test) &laquo;&nbsp;positif&nbsp;&raquo; else &laquo;&nbsp;négatif&nbsp;&raquo;}&nbsp;&raquo;;</li>
<li><em>Opérateurs classiques : </em> <code class="codecolorer text default"><span class="text">=, +, -, *, /, mod, ++, --, not, ==, !=, &lt;, &gt;, &lt;= &gt;=, and, or</span></code></li>
<li><em>Bind de variables : </em> permet de lier une variable à une autre :<br />
var a = &laquo;&nbsp;Hello&nbsp;&raquo;;<br />
var b = bind a;</p>
<p>b prendra toujours la valeur de a, on peut ainsi lier b non plus à a mais au résultat d&rsquo;une fonction, une action utilisateur, &#8230;</li>
</ul>
<p>Et voilà pour ce court extrait!</p>
<p>Bon code!</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Se lancer dans JavaFX</title>
		<link>https://blog.developpez.com/zeusviper/p8884/javafx/se_lancer_dans_javafx</link>
		<comments>https://blog.developpez.com/zeusviper/p8884/javafx/se_lancer_dans_javafx#comments</comments>
		<pubDate>Thu, 29 Apr 2010 11:21:07 +0000</pubDate>
		<dc:creator><![CDATA[zeusviper]]></dc:creator>
				<category><![CDATA[JavaFX]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Me revoici avec ma découverte JavaFX. L&#8217;environnement est installé, NetBeans 6.9 lancé. Premier truc cool, en voulant créer un nouveau projet, je remarque que NetBeans dispose d&#8217;exemples de programmes JavaFX. Donc, déjà on voit si ca compile! Les exemples sont plutôt basiques mais sympa. On y découvre de nombreux effets graphiques possibles dans le sous dossier &#171;&#160;Building Blocks&#160;&#187;. On remarque aussi la top nouveauté de NetBeans 6.9, le Composer. Deux types d&#8217;exemples sont présent, ceux [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Me revoici avec ma découverte JavaFX.<br />
L&rsquo;environnement est installé, NetBeans 6.9 lancé.</p>
<p>Premier truc cool, en voulant créer un nouveau projet, je remarque que NetBeans dispose d&rsquo;exemples de programmes JavaFX. Donc, déjà on voit si ca compile! Les exemples sont plutôt basiques mais sympa. On y découvre de nombreux effets graphiques possibles dans le sous dossier &laquo;&nbsp;Building Blocks&nbsp;&raquo;. On remarque aussi la top nouveauté de NetBeans 6.9, le Composer. Deux types d&rsquo;exemples sont présent, ceux avec un petit logo FX sur fond blanc, correspondant aux &laquo;&nbsp;anciens&nbsp;&raquo; exemples, et ceux avec un fond bleu correspondants aux nouveaux&nbsp;&raquo;.<br />
L&rsquo;ancien éditeur se contentait de code avec une fonction de prévisualisation du résultat. La nouvelle version permet de créer l&rsquo;interface en déplaçant des objets, boutons, &#8230; une vraie création de gui facile en somme!<br />
Après avoir bien joué avec les exemples, le Composer et jeté un oeil au code (peu commenté mais plutôt propre et facilement compréhensible), je crée donc un nouveau projet. On retrouve 3 types de projet : Script et Desktop, et Mobile  (je ne vois pas de différence entre ces 2 derniers si ce n&rsquo;est la taille prédéfinie de l&rsquo;écran). Je choisis donc Desktop de façon à avoir accès au bel éditeur d&rsquo;interface (du nom de Matisse). </p>
<p>En passant, les tutos sur le site NetBeans sont plutôt complets et bien organisés : </p>
<p>http://netbeans.org/kb/trails/matisse.html</p>
<p>Je commence donc par suivre l&rsquo;exemple suivant http://netbeans.org/project_downloads/javafx/jdbc/JDBC.html<br />
Ce tutoriel permet un test rapide pour la connexion à une base JavaDB. En 5min c&rsquo;est testé/validé. Plutôt content de la facilité avec laquelle ca marche.<br />
Je refais à peu de chose près la même chose avec ma base à moi maintenant : j&rsquo;ai finalement opté pour une base H2 qui est donc stockée dans un simple fichier et qui à terme sera donc utilisée en embarquée dans mon application.<br />
On rajoute le jar au classpath, sélectionne le driver modifie l&rsquo;exemple et zoupla c&rsquo;est reglé.</p>
<p>Le second screencast présenté montre avec quelle facilité et rapidité on peut faire joujou avec le logo Netbeans (rotation, zoom,&#8230;), rien d&rsquo;exceptionnel mais ca me fait penser que ca va être plutôt cool pour un prototypage d&rsquo;écran rapide à montrer au client. Vu la facilité de l&rsquo;outil, des modifs en temps réel avec l&rsquo;utilisateur sur l&rsquo;interface sont tout à fait envisageables (dur à imaginer pour du J2EE par exemple!!). </p>
<p> Coup de tel, problème en prod sur mes autres activités (de la BI pour les intéréssés). Ma découverte s&rsquo;arrête là pour l&rsquo;instant. </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaFX or not JavaFX</title>
		<link>https://blog.developpez.com/zeusviper/p8877/javafx/javafx_or_not_javafx</link>
		<comments>https://blog.developpez.com/zeusviper/p8877/javafx/javafx_or_not_javafx#comments</comments>
		<pubDate>Tue, 27 Apr 2010 13:04:00 +0000</pubDate>
		<dc:creator><![CDATA[zeusviper]]></dc:creator>
				<category><![CDATA[JavaFX]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Je dois réaliser en cadre professionnel une &#171;&#160;petite&#160;&#187; application de type CRUD pour gérer les contrats de consultance d&#8217;un département informatique. A partir des données fournies dans l&#8217;outil (budget, contrats, pointages,..) différents graphes devront être générées. Volumétrie faible et quelques utilisateurs seulement. Rien de bien complexe en soi. Ma hiérarchie proposait un outil Access: Access pour la db, interface et gestion via vba. Ayant déjà donné dans du dev vba, je préfèrerai voir autre chose. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je dois réaliser en cadre professionnel une &laquo;&nbsp;petite&nbsp;&raquo; application de type CRUD pour gérer les contrats de consultance d&rsquo;un département informatique. A partir des données fournies dans l&rsquo;outil (budget, contrats, pointages,..) différents graphes devront être générées.<br />
Volumétrie faible et quelques utilisateurs seulement.<br />
Rien de bien complexe en soi.
</p>
<p>Ma hiérarchie proposait un outil Access: Access pour la db, interface et gestion via vba. </p>
<p>Ayant déjà donné dans du dev vba, je préfèrerai voir autre chose. J&rsquo;ai fait dans le temps des applets Java, je me dis que ca pourrait être pas mal. Je vais donc regarder du côté de JavaSE et Swing dans NetBeans. Rapidement je me dis que ce serait une bonne occasion de faire ça en JavaFX (que j&rsquo;avais découvert en 1.0, qui m&rsquo;avait fortement déçu et était concrètement inutilisable&#8230;). </p>
<p><span id="more-3"></span><br />
<strong>Première étape : Recherche documentaire</strong><br />
D&rsquo;abord vérifier que ca a bien évolué depuis la 1.0. A ce niveau le site officiel javafx.com est plutôt bien foutu, pas mal d&rsquo;exemple et une doc assez claire pour la prise en main initiale.<br />
Quelques recherches google (crud javaFX, javaFX charts) me fournissent divers liens qui me seront bien utiles pour la suite. </p>
<p><strong>premières conclusions:</strong> javaFX dans sa version 1.3 (sortie il y a peu) n&rsquo;est toujours pas vraiment complet et contient encore quelques bugs mais est globalement utilisable et permet pas mal de choses cool (suffit de voir la galerie d&rsquo;exemples sur le site officiel).</p>
<p>Je sais qu&rsquo;en m&rsquo;engageant dans cette voie, je risque de galérer de longues heures sur des broutilles, mais logiquement rien d&rsquo;insurmontable. De plus, il y a apparemment peu de changements entre la 1.2 et la 1.3, ce qui montre une certaine stabilité.</p>
<p>A ce sujet, on prendra garde dans les exemples du web à ne considérer que ce qui est postérieur à juin 2009 (sortie de la 1.2). Beaucoup trop d&rsquo;incompatibilités avec les précédentes versions. </p>
<p>2 blogs de référence pour le suivi du langage : <a href="http://learnjavafx.typepad.com/">Jim Weaver</a> et <a href="http://blogs.sun.com/rakeshmenonp/">Rakesh Menom</a> </p>
<p><strong>Seconde étape: Base de données</strong></p>
<p>J&rsquo;ai pour contrainte d&rsquo;avoir une base de donnée sans serveur et partageable entre plusieurs utilisateurs. De plus, il est nécessaire de pouvoir la &laquo;&nbsp;bidouiller&nbsp;&raquo; avec un éditeur sql classique.<br />
Après recherches, je vais partir sur du SQLite, la base est stockée dans un simple fichier, pas besoin de serveur. Celle-ci est partageable (compte tenu de la volumétrie et charge sur l&rsquo;application, les accès concurrents ne devraient poser aucun pb).<br />
Et il y a l&rsquo;outil sqliteman pour manipuler la db avec un éditeur &laquo;&nbsp;classique&nbsp;&raquo;.
</p>
<p><strong>Troisième étape: Installation</strong></p>
<p>La recherche documentaire avait lieu sur ma machine perso, toujours updatée. Désormais, il faut installer le nécessaire sur la machine de boulot : WinXP Pro SP2, proxy.</p>
<p>Je récupère le dernier jdk dispo chez sun, enfin oracle. On y trouve un bundle spécial JavaFX avec NetBeans 6.8 : http://java.sun.com/javase/downloads/index.jsp#jdkJavaFX </p>
<p>Droits admin indispensable pour l&rsquo;installation du jdk (pas nécessaire pour netbean cependant): c&rsquo;est parti pour une négociation avec l&rsquo;admin! (bcp plus facile que je l&rsquo;aurai imaginé en fait d&rsquo;ailleurs!!)</p>
<p> J&rsquo;avais aussi récupéré NetBeans 6.9 et JavaFX 1.3, mais le mot &laquo;&nbsp;beta&nbsp;&raquo; n&rsquo;a pas trop plu.. Pas grave on verra ce que ca donne par la suite. J&rsquo;installe le lendemain moi-même NB 6.9 et le sdk 1.3 (mais le path système JAVA ne peut être mis à jour). NetBeans 6.9 se lance sans soucis.</p>
<p> Retour sur le site javafx.com pour voir les exemples : rien ne marche, erreur &laquo;&nbsp;host not found&nbsp;&raquo; lorsque le jnlp essaie de lancer les appli. Je me dis, ça c&rsquo;est le proxy! Je vais dans panneau de configuration/Java et je tente de régler le proxy. Celui ci, dans mon entreprise est défini par un script .pac qui gère les accès à l&rsquo;intranet par rapport à l&rsquo;extérieur. Ce qui ne pose aucun problème dans IE ou Firefox. Je coche &laquo;&nbsp;Utiliser les paramètres du navigateur&nbsp;&raquo;. Même erreur. Je recopie l&rsquo;adresse du script de configuration dans la case adéquate : même erreur. <img src="https://blog.developpez.com/zeusviper/wp-includes/images/smilies/icon_sad.gif" alt=":-(" class="wp-smiley" /> Motivé, j&rsquo;analyse le script et récupère l&rsquo;adresse et le port du proxy pour l&rsquo;extérieur. Je les rentre aux cases adéquates et oh joie ça marche!</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
