<?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>Le blog de Julien H &#187; Swing</title>
	<atom:link href="https://blog.developpez.com/julienh/pcategory/java/swing/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/julienh</link>
	<description></description>
	<lastBuildDate>Mon, 28 Feb 2011 15:13:41 +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>Les éditeurs Swing pour Eclipse</title>
		<link>https://blog.developpez.com/julienh/p7485/java/les_editeurs_swing_pour_eclipse</link>
		<comments>https://blog.developpez.com/julienh/p7485/java/les_editeurs_swing_pour_eclipse#comments</comments>
		<pubDate>Mon, 13 Apr 2009 14:58:51 +0000</pubDate>
		<dc:creator><![CDATA[morgoth_fr]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Vous avez peut-être remarqué que dans le monde des applications professionnelles, Swing fait son come-back. Cependant, certaines choses rendent encore Swing vraiment rébarbatif. En vrac : API pas homogène (on sent bien que ça a de la bouteille et qu&#8217;il a fallut jouer avec la compatibilité ascendante Composants n&#8217;utilisant pas les generics (c&#8217;est en cours, mais est-ce que ça sortira un jour ?) Manque un bon éditeur graphique (je crois qu&#8217;on dit &#171;&#160;RAD&#160;&#187;) C&#8217;est sur [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Vous avez peut-être remarqué que dans le monde des applications professionnelles, Swing fait son come-back. Cependant, certaines choses rendent encore Swing vraiment rébarbatif. En vrac :</p>
<ul>
<li>API pas homogène (on sent bien que ça a de la bouteille et qu&rsquo;il a fallut jouer avec la compatibilité ascendante</li>
<li>Composants n&rsquo;utilisant pas les generics (<a href="https://swing-generics.dev.java.net/">c&rsquo;est en cours</a>, mais est-ce que ça sortira un jour ?)</li>
<li>Manque un bon éditeur graphique (je crois qu&rsquo;on dit &laquo;&nbsp;RAD&nbsp;&raquo;)</li>
</ul>
<p>C&rsquo;est sur le dernier point que je vais essayer de faire un compte rendu de mes dernières recherches.</p>
<p><span id="more-5"></span></p>
<p>Tout d&rsquo;abord, avant qu&rsquo;on me pose la question, oui, je connais Matisse. Du moins je l&rsquo;ai un peu manipulé à plusieurs reprises. Il a certes de nombreuses qualités, en partie du fait qu&rsquo;il sert de vitrine à toutes les JSR qu&rsquo;on espère voir un jour de base dans le JDK sans avoir à installer des JAR supplémentaires (appframework, beans binding, ..). Mais il a pour moi 2 inconvénients majeurs :</p>
<ul>
<li>C&rsquo;est sous Netbeans, et dans ma société, l&rsquo;outil recommandé est Eclipse.</li>
<li>Le code est non éditable</li>
</ul>
<p>Pour moi, le second point est vraiment gênant. En effet, en fonction de l&rsquo;action à réaliser, j&rsquo;aime bien faire les modifications à la main dans le code plutôt que de passer par l&rsquo;éditeur.</p>
<p>Sous Eclipse, je connais deux outils open-source et gratuits répondant à priori à mes besoins :</p>
<ul>
<li><a href="http://www.eclipse.org/vep/WebContent/main.php">Visual Editor</a></li>
<li><a href="http://code.google.com/p/visualswing4eclipse/">Visual Swing 4 Eclipse</a></li>
</ul>
<p><strong>Visual Editor</strong><br />
<img src="http://www.ibm.com/developerworks/opensource/library/os-ecvisual/VisEdit.gif" alt="VE Screenshot" title="VE Screenshot" /><br />
Visual Editor est un projet assez ancien. Tellement ancien qu&rsquo;il semble abandonné. Sur le site officiel, la dernière version est pour Eclipse 3.2. Cependant, il semble que la société <a href="http://www.soyatec.fr/">Soyatec</a> ait repris les choses en main (merci à eux). Les instructions d&rsquo;installation sont <a href="http://wiki.eclipse.org/VE/Update">sur le wiki</a>.</p>
<p>J&rsquo;ai testé VE sous Windows et Linux. Son principal défaut est de forker un process Java pour chaque composant graphique affiché dans Eclipse (chaque onglet). Et vu que je n&rsquo;ai pas l&rsquo;impression qu&rsquo;il y ait un mécanisme de libération (à moins de fermer Eclipse), on se retrouve vite avec des dizaines de process java dans le gestionnaire de tâches, chacun prenant environ 40 Mo de RAM. Mon astuce à 2 centimes : dès que j&rsquo;ai plus de RAM, je kill manuellement tous les process java (sauf Eclipse bien sûr), et je peux continuer à travailler.<br />
De plus, sous Windows, on a toujours dans la barre des tâches un élément supplémentaire qui correspond au composant qu&rsquo;on est en train d&rsquo;éditer dans Eclipse. Sous Linux, c&rsquo;est encore pire, vu qu&rsquo;on a également une fenêtre flottante contenant la même chose que ce qu&rsquo;on a dans l&rsquo;onglet d&rsquo;Eclipse. Assez pénible à la longue.</p>
<p>Ses avantages :</p>
<ul>
<li>gère tous les layouts de base, dont les GridBagLayout. Il manque cependant la possibilité de pouvoir modifier en masse les GridBagConstraints de plusieurs composants, comme on peut le faire pour les propriétés &laquo;&nbsp;classiques&nbsp;&raquo;</li>
<li>il est possible d&rsquo;exécuter/prévisualiser de nombreux composants, et pas seulement les frames (par exemple les panels), en faisant Run As->Java Bean</li>
<li>s&rsquo;en sort très bien avec du code modifié à la main (sauf qu&rsquo;il semble y avoir parfois des problèmes de cache, il faut fermet et ré-ouvrir l&rsquo;éditeur)</li>
</ul>
<p><strong>Visual Swing 4 Eclipse</strong><br />
<img src="http://rehte.javaeye.com/upload/picture/pic/31403/2a50c896-ab7b-304f-bab6-ed1824b9d4ad.png" alt="VS4E Screenshot" title="VS4E Screenshot" /><br />
Je l&rsquo;ai découvert très récemment. Il semble développé par une seule personne, William Chen. A la première ouverture, c&rsquo;est une réelle surprise par rapport à VE : pas de process forké, donc pas de fenêtre flottante ni d&rsquo;élément dans la barre des tâches. Seule la première ouverture d&rsquo;un composant est un peu longue (j&rsquo;imagine qu&rsquo;il initialise pleins de trucs). A l&rsquo;utilisation, je l&rsquo;ai trouvé très stable.</p>
<p>A noter que VS4E fourni un GroupLayout custo qui n&rsquo;est pas celui du JDK 1.6. Cela est est gênant car requiert une dépendance supplémentaire dans le code. Une <a href="http://code.google.com/p/visualswing4eclipse/issues/detail?id=85">issue est ouverte à ce sujet</a>.</p>
<p>Donc pour moi, ce serait le parfait remplaçant de VE, sauf qu&rsquo;il manque encore les fonctionnalités suivantes :</p>
<ul>
<li><a href="http://code.google.com/p/visualswing4eclipse/issues/detail?id=53">gestion graphique du GridBagLayout</a>. Il est quand même possible de faire les modifs dans le code, et l&rsquo;affichage dans l&rsquo;éditeur est parfait. Cependant, j&rsquo;ai assez souvent mes modifications (GridBagConstraints) qui sont écrasées quand je fais des modifs dans l&rsquo;éditeur.</li>
<li>quelques améliorations d&rsquo;ergonomie. Par exemple si je sélectionne un composant et que je &laquo;&nbsp;sors&nbsp;&raquo; trop vite ma souris de la zone, mon composant n&rsquo;a pas suivi. Je dois repasser ma souris sur l&rsquo;onglet des composants (sans cliquer) pour &laquo;&nbsp;rattacher&nbsp;&raquo; le composant à mon curseur et pouvoir le poser dans la zone.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
