<?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>Grummfy&#039;s project &#187; java</title>
	<atom:link href="http://grummfy.be/blog/key/java/feed" rel="self" type="application/rss+xml" />
	<link>http://grummfy.be/blog</link>
	<description>Mes projets, mes rêves, mes envies, ...</description>
	<lastBuildDate>Sun, 22 Aug 2010 22:25:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>java : Drag &amp; Drop sur un JTable</title>
		<link>http://grummfy.be/blog/141#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/141#comments</comments>
		<pubDate>Mon, 07 Sep 2009 23:26:32 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[libre]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[trucs et astuces]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=141</guid>
		<description><![CDATA[Drag &#38; Drop sur un JTable Dans nos application moderne il semble logique de pouvoir faire du DND à gogo, pourtant ce n&#8217;est pas des plus simple, avec certain langage de le faire,  d&#8217;où cette exemple qui m&#8217;a fait un peu travaillez et arrachez un ou deux cheveux de ma longue chevelure de geek&#8230; Bref, [...]]]></description>
			<content:encoded><![CDATA[<h1>Drag &amp; Drop sur un JTable</h1>
<p style="text-align: justify;">Dans nos application moderne il semble logique de pouvoir faire du <acronym title="Drag&amp;Drop">DND</acronym> à gogo, pourtant ce n&#8217;est pas des plus simple, avec certain langage de le faire,  d&#8217;où cette exemple qui m&#8217;a fait un peu travaillez et arrachez un ou deux cheveux de ma longue chevelure de geek&#8230;</p>
<p style="text-align: justify;">Bref, voici l&#8217;essentiel :</p>
<ol>
<li>Il faut que le composant puisse être pris (drag) et/ou déposé (drop)</li>
<li>Il faut convertir le composant en donnée exportable et transportable (Transferable)</li>
<li>Il faut pouvoir restaurer les donnée correctement et suivant le type les restaurer de tel ou tel manière &#8230;</li>
</ol>
<p><span id="more-141"></span>Par défaut, java implémente tout une série de composant déjà &laquo;&nbsp;drag&amp;drop ready&nbsp;&raquo; :</p>
<p><img src="file:///tmp/moz-screenshot.jpg" alt="" /><img class="alignnone size-full wp-image-159" title="Tableau DND java" src="http://grummfy.be/blog/wp/wp-content/uploads/2009/09/Sans-titre.png" alt="Tableau DND java" width="340" height="338" /></p>
<p>Dans notre cas le JTable peut-être pris par copie mais on ne peux droper dedans&#8230;</p>
<p>Donc nous devons géré :</p>
<ul>
<li>Transport des données : ici nos lignes → Class JTableRowTransferable</li>
<li>Faire en sorte que le gestionnaire de DND accepte le drop et surtout l&#8217;accepte de notre transport de donnée → Class MyTransferHandler (class interne)</li>
<li>Et bien entendu faire comprendre à notre Jtable → il suffit de faire myJtable.setDragEnable(true); <img src='http://grummfy.be/blog/wp/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
</ul>
<p style="text-align: justify;">Une fois tout cela fait je me suis vite rendu compte que pour l&#8217;utilisateur ce n&#8217;était pas simple!!! En fait, l&#8217;utilisateur devait sélectionner la ligne (et pas plusieurs) et ensuite légèrement décalé sur le coté (pour ne pas partir vers la sélection d&#8217;autre ligne) et puis seulement bouger le tout &#8230; INGÉRABLE ! Bref, je me suis dit &laquo;&nbsp;let&#8217;s go pour un bouton de <span style="text-decoration: line-through;">drague</span> drag!&nbsp;&raquo; J&#8217;ai donc chercher avec un JButton.  Mais<sup class='footnote'><a href='#fn-141-1' id='fnref-141-1'>1</a></sup> malheureusement pour utiliser un JButton il faudrait implémenter un render (une class qui dit comment doit s&#8217;afficher un objet dans une JTable) pour la JTable. Donc on oublie!</p>
<p style="text-align: justify;">Pour finir, je me suis rabattu vers une ImageIcon <img class="size-full wp-image-143" title="Appuyez sur le &quot;bouton&quot; vert et glissez la ligne vers le haut ou le bas ..." src="http://grummfy.be/blog/wp/wp-content/uploads/2009/09/drag_me_green.png" alt="Appuyez sur le &quot;bouton&quot; vert et glissez la ligne vers le haut ou le bas ..." width="47" height="14" /> (ou rien du tout cela aurait été pareil&#8230;) et un MouseListener sur mon JTable.</p>
<p style="text-align: justify;">Bref, je ne vais pas vous faire un cours, pour cela je vous renvoi plus bas! Donc, je vous propose de télécharger l&#8217;exemple : <a title="Télécharger l'exemple" rel="attachment wp-att-148" href="http://grummfy.be/blog/?attachment_id=148">DragTableExample.tar</a></p>
<h2>Plus d&#8217;info sur le DND en java ?</h2>
<ul>
<li>Excellent article sur le fonctionnement du DND : <a href="http://mbaron.developpez.com/javase/dnddt/" target="_blank">Introduction au Drag and Drop : transfert de données</a>[fr]</li>
<li><a href="http://gfx.developpez.com/tutoriel/java/swing/drag/" target="_blank">Drag &amp; Drop avec Style et l&#8217;API Swing</a>[fr]</li>
<li>Larticle de sun : <a href="http://java.sun.com/docs/books/tutorial/uiswing/dnd/index.html">Lesson: Drag and Drop and Data Transfer</a>[en]</li>
<li>Encore un autre très bon article : <a href="http://www.javaworld.com/javaworld/jw-03-1999/jw-03-dragndrop.html">How to drag and drop with Java 2</a>[en]</li>
</ul>
<div class='footnotes'>
<div class='footnotedivider'></div>
<ol>
<li id='fn-141-1'>puisque mais il y a sinon cela ne serait pas marrant <span class='footnotereverse'><a href='#fnref-141-1'>&#8617;</a></span></li>
</ol>
</div>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F141&amp;linkname=java%20%3A%20Drag%20%26%23038%3B%20Drop%20sur%20un%20JTable" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/141/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java : chargement de class et instanciantion depuis une chemin</title>
		<link>http://grummfy.be/blog/130#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/130#comments</comments>
		<pubDate>Fri, 28 Aug 2009 23:54:51 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Projet]]></category>
		<category><![CDATA[découverte]]></category>
		<category><![CDATA[étrange]]></category>
		<category><![CDATA[fsb-tools]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[trucs et astuces]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=130</guid>
		<description><![CDATA[J'ai toujours trouvé frustrant de ne pas pouvoir me dire que connaissance le nom d'une classe (sous format de String) je ne pouvait, comme je le fait en PHP, instancier un objet. En fait, cela un bout de temps que c'est réalisable mais je n'avais jamais réussi à trouvé comment, malgré des piste déjà essayé ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">J&#8217;ai toujours trouvé frustrant de ne pas pouvoir me dire que connaissance le nom d&#8217;une classe (sous format de String) je ne pouvait, comme je le fait en PHP, instancier un objet. En fait, cela un bout de temps que c&#8217;est réalisable mais je n&#8217;avais jamais réussi à trouvé comment, malgré des piste déjà essayé &#8230;</p>
<p style="text-align: justify;">Donc, pour ceux qui comme mois désire faire cela :</p>
<p style="text-align: justify;">Chargement d&#8217;une classe situé dans le package test, nommé MaClasse (<strong><span style="text-decoration: underline;">/!\</span> java est case-sensitive</strong>)<code> et création de l'objet lié.<br />
Object monInstance = Class.forName("test.MaClasse").newInstance();</code></p>
<p style="text-align: justify;">En espérant que cela serve à plus d&#8217;un!</p>
]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/130/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sortie importante&#8230;</title>
		<link>http://grummfy.be/blog/97#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/97#comments</comments>
		<pubDate>Thu, 22 Nov 2007 11:51:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[sortie]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=97</guid>
		<description><![CDATA[Hello, dernièrement deux logiciel important, pour peux que vous en ayez besoin , sont sorti! J&#8217;ai nomé&#160;: Wampserver JDOM Wampserver Wampserver est un gestionnaire de serveur tel easyphp (mais en bien mieux, à mon goût en tout cas!), qui permet d&#8217;utiliser apache, php4 ou 5, &#8230; la version 1 était déjà excellent, la v2 s&#8217;annonce [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, dernièrement deux logiciel important, pour peux que vous en ayez besoin <img src='http://grummfy.be/blog/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  , sont sorti!</p>
<p>J&#8217;ai nomé&nbsp;:</p>
<ul>
<li>Wampserver</li>
<li>JDOM</li>
</ul>
<h4>Wampserver</h4>
<p>Wampserver est un gestionnaire de serveur tel easyphp (mais en bien mieux, à mon goût en tout cas!), qui permet d&#8217;utiliser apache, php4 ou 5, &#8230; la version 1 était déjà excellent, la v2 s&#8217;annonce délicieuse!</p>
<p>Le <a href="http://www.wampserver.com/download.php">[télécharger</a>]</p>
<p>Pour ceux qui connaissent le logiciel, vous remarquerez que tout à été revu de font en comble&nbsp;: design, logo, &#8230;</p>
<p><a href="http://www.wampserver.com/presentation.php">[Présentation du logiciel</a>]</p>
<h4>JDOM</h4>
<p>JDOM est une libraire java permetant de manipuler un arbre dom. Le version 1.1 est sortie</p>
<p>Découvrez cette librairie sur le <a href="http://jdom.org/">[site officiel de JDOM</a>]</p>
<p><a href="http://jdom.org/dist/binary/">[Téléchargement</a>]</p>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F97&amp;linkname=Sortie%20importante%26%238230%3B" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F97&amp;linkname=Sortie%20importante%26%238230%3B" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F97&amp;linkname=Sortie%20importante%26%238230%3B" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F97&amp;linkname=Sortie%20importante%26%238230%3B" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F97&amp;linkname=Sortie%20importante%26%238230%3B" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F97&amp;linkname=Sortie%20importante%26%238230%3B" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/97/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse, gcj et java-sun</title>
		<link>http://grummfy.be/blog/85#utm_source=feed&amp;utm_medium=feed&amp;utm_campaign=feed</link>
		<comments>http://grummfy.be/blog/85#comments</comments>
		<pubDate>Wed, 05 Sep 2007 18:50:00 +0000</pubDate>
		<dc:creator>Grummfy</dc:creator>
				<category><![CDATA[Grummfy grrrrumf, ou comment raller]]></category>
		<category><![CDATA[gcj]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://grummfy.be/blog/?p=85</guid>
		<description><![CDATA[Si comme moi vous voulez utilisez la jvm de sun plutot que gcj, et que malgrès que vous ayez changer les préférence de eclipse rien ne change! Faite ceci&#160;: sudo gedit /etc/eclipse/java_home ensuite ajouter /usr/lib/jvm/java-6-sun au début du fichier, si vous utilisez la version 6 de java de sun! edit&#160;: y a pas à dire [...]]]></description>
			<content:encoded><![CDATA[<p>Si comme moi vous voulez utilisez la jvm de sun plutot que gcj, et que malgrès que vous ayez changer les préférence de eclipse rien ne change!</p>
<p>Faite ceci&nbsp;:</p>
<blockquote><p>sudo gedit /etc/eclipse/java_home</p>
</blockquote>
<p>ensuite ajouter /usr/lib/jvm/java-6-sun au début du fichier, si vous utilisez la version 6 de java de sun!</p>
<p>edit&nbsp;: y a pas à dire le gain de rapidité est plus que conséquent, et zéro plantage depuis plusieurs heures &#8230;. contrairement à gcj</p>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F85&amp;linkname=Eclipse%2C%20gcj%20et%20java-sun" title="Delicious" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/technorati_favorites?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F85&amp;linkname=Eclipse%2C%20gcj%20et%20java-sun" title="Technorati Favorites" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/technorati.png" width="16" height="16" alt="Technorati Favorites"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F85&amp;linkname=Eclipse%2C%20gcj%20et%20java-sun" title="Twitter" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F85&amp;linkname=Eclipse%2C%20gcj%20et%20java-sun" title="Facebook" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F85&amp;linkname=Eclipse%2C%20gcj%20et%20java-sun" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/netvibes_share?linkurl=http%3A%2F%2Fgrummfy.be%2Fblog%2F85&amp;linkname=Eclipse%2C%20gcj%20et%20java-sun" title="Netvibes Share" rel="nofollow" target="_blank"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/icons/netvibes.png" width="16" height="16" alt="Netvibes Share"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://grummfy.be/blog/wp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://grummfy.be/blog/85/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.980 seconds -->
