<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5656790333075086630</id><updated>2012-02-16T05:05:52.881-03:00</updated><category term='reportes'/><category term='jdk1.4'/><category term='jtable'/><category term='seleccion fila'/><category term='software libre'/><category term='Aprender java'/><category term='java'/><category term='rip'/><category term='libre'/><category term='programacion'/><category term='api'/><category term='Oracle'/><category term='RIA'/><category term='firefox'/><category term='Netbeans'/><category term='Sun'/><category term='comunidad'/><category term='sql'/><category term='sound'/><category term='unix'/><category term='spring'/><category term='tutoriales'/><category term='noticias'/><category term='sitio'/><category term='Update'/><category term='Glassfish'/><category term='base de datos'/><category term='Eventos y reuniones'/><category term='humor'/><title type='text'>Jujuy Java Users Group</title><subtitle type='html'>Grupo de usuarios de Java de Jujuy</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-3534720638040828254</id><published>2009-07-09T00:58:00.003-03:00</published><updated>2009-07-09T01:18:08.555-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comunidad'/><category scheme='http://www.blogger.com/atom/ns#' term='sitio'/><category scheme='http://www.blogger.com/atom/ns#' term='Eventos y reuniones'/><title type='text'>Invitación Jujuy JUG 2009</title><content type='html'>Hace unos meses hemos montado un portal para nuestro grupo.
Los invitamos a visitarlo, la dirección es &lt;a href="http://www.jujuyjug.com.ar"&gt;www.jujuyjug.com.ar&lt;/a&gt;.
Les recordamos que también pueden unirse a nuestro grupo en&lt;a href="http://groups.google.com/group/jujuyjug"&gt;googlegroups&lt;/a&gt; o en el &lt;a href="http://osum.sun.com/group/jujuyjug"&gt;OSUM&lt;/a&gt;.
Esperamos que en la segunda mitad de este año podamos realizar reuniones presenciales.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-3534720638040828254?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/3534720638040828254/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=3534720638040828254' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3534720638040828254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3534720638040828254'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2009/07/invitacion-jujuy-jug-2009.html' title='Invitación Jujuy JUG 2009'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-563861609464921711</id><published>2009-04-15T10:20:00.000-03:00</published><updated>2009-04-15T10:21:28.084-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programacion'/><title type='text'>Comienza la JavaCup 2009</title><content type='html'>La revista Sólo Programadores, Sun Microsystems Ibérica y la organización sin ánimo de lucro javaHispano hemos organizado la tercera versión del torneo virtual de fútbol JavaCup donde cada equipo es una clase Java que implementa una interfaz predefinida. El concurso cuenta con el patrocinio de las empresas Kotasoft, en calidad de patrocinador de oro, y Salenda como patrocinadores de plata. La participación está abierta a cualquier hispanohablante, sin importar su nacionalidad.

Desarrollar un equipo de fútbol es simple ya que el software en el cual se basa el concurso se encarga de dibujar en la pantalla y gestionar los movimientos de la pelota y de los dos equipos. Para crear un equipo lo único que hay que indicar es qué movimientos quieres que realice tu equipo en cada situación, lo cual es sencillo gracias a la API que expone a los equipos el software.

Como recordaran en la versión 2008 del torneo no se modifico el framework original, en cambio, para esta nueva versión se ha reescrito por completo el framework, añadiendo características nuevas, tanto en la gráfica, como en el audio, y en la lógica del juego. Pese a esto, se desea mantener la estructura básica original de las JavaCup anteriores.
Premios

El ganador del concurso recibirá 1000 €, el segundo clasificado recibirá 500 €, el tercero 250 € y el cuarto 125 €. Además, todos ellos recibirán una suscripción anual a la revista Sólo Programadores. Los ganadores del concurso se anunciarán en el evento tecnológico OpenJavaDay, que se celebrará el 18 y 19 de junio en España, Madrid.

 Documentación para participar en el concurso

Todos los que quieran participar en el concurso deberán leer un tutorial donde se explica qué se necesita para construir los equipos y cómo funciona el software. Además, se tiene el javadoc del framework para obtener detalles más técnicos. De todas formas, si quedara alguna duda, no duden en plantearla en el foro de la JavaCup.

El software de la JavaCup es 100% Java, por lo que se puede emplear cualquier entorno de desarrollo Java para crear el equipo de fútbol. Por comodidad para los usuarios, lo distribuimos empaquetado como un proyecto de Netbeans y como un proyecto de Eclipse, sin que esto sea un impedimento para importarlo en cualquier otro IDE.

El software puede considerarse un framework que cuenta con puntos de extensión (que en este caso permiten crear un equipo de fútbol) y ofrece una API en la cual pueden apoyarse los equipos para construir sus tácticas de juego. Esta API permite averiguar cosas como cuál es tu jugador que está más cercano a la pelota, cuál es el jugador del equipo contrario que está más cercano a la pelota, la posición de todos los jugadores y de la propia pelota, etcétera.

Tanto el tutorial, como el javadoc y el framework pueden obtenerse desde la página de la página Web del concurso en la sección “Descargas” o en el proyecto JavaCup 2009 de javaHispano.net.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-563861609464921711?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/563861609464921711/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=563861609464921711' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/563861609464921711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/563861609464921711'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2009/04/comienza-la-javacup-2009.html' title='Comienza la JavaCup 2009'/><author><name>Marko Inferno</name><uri>http://www.blogger.com/profile/13304540947512529974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://4.bp.blogspot.com/_i5q852Vn6j8/SKdzz1zj78I/AAAAAAAAAAM/tBfNL2Sezeg/S220/HombreAra%C3%B1a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-6567910375393747134</id><published>2009-02-16T10:17:00.003-02:00</published><updated>2009-02-16T10:20:41.951-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><category scheme='http://www.blogger.com/atom/ns#' term='Glassfish'/><category scheme='http://www.blogger.com/atom/ns#' term='Eventos y reuniones'/><title type='text'>Glassfish webinar en español!</title><content type='html'>&lt;p&gt;No se pierdan el proximo 19 de febrero un excelente webinar (seminario web) de Glassfish, el servidor de aplicaciones Java 100% open source, a cargo de Alan Vargas, campus ambassador de Mexico.&lt;/p&gt;

&lt;p&gt;Para participar, utilicen el siguiente link:&lt;br /&gt;
&lt;a href="https://sas.elluminate.com/m.jnlp?sid=2007072&amp;password=M.78802E9DED65C208617648CFFA61D4"&gt;https://sas.elluminate.com/m.jnlp?sid=2007072&amp;password=M.78802E9DED65C208617648CFFA61D4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La sesión se ejecutará a las :&lt;br /&gt;
12 pm hs Mexico DF&lt;br /&gt;
4 pm hs Buenos Aires&lt;br /&gt;
3 pm hs Santiago de Chile&lt;br /&gt;
1 pm hs Bogota&lt;br /&gt;
1:30 pm hs Caracas&lt;br /&gt;
7 pm hs Madrid&lt;/p&gt;

&lt;p&gt;Ingresen a la sesión 15 minutos antes de comenzada la charla para ajustar la calidad de sonido e imagen.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-6567910375393747134?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/6567910375393747134/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=6567910375393747134' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/6567910375393747134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/6567910375393747134'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2009/02/glassfish-webinar-en-espanol.html' title='Glassfish webinar en español!'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-3154230429653558928</id><published>2008-12-23T17:16:00.001-02:00</published><updated>2008-12-23T17:18:49.079-02:00</updated><title type='text'>¡¡¡Felices fiestas!!!</title><content type='html'>&lt;p&gt;¡¡¡Felices fiestas!!!&lt;/p&gt;
&lt;p&gt;&lt;img src="https://duke.dev.java.net/animations/DukeTuxChristmas-small.gif" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-3154230429653558928?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/3154230429653558928/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=3154230429653558928' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3154230429653558928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3154230429653558928'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/12/felices-fiestas.html' title='¡¡¡Felices fiestas!!!'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-48019691389435834</id><published>2008-10-23T14:14:00.009-02:00</published><updated>2008-10-25T11:53:26.853-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><category scheme='http://www.blogger.com/atom/ns#' term='software libre'/><title type='text'>Lanzamiento de Java 6 Update 10</title><content type='html'>&lt;div align="justify"&gt;
&lt;p&gt;Hace un par de días Sun públicó la versión estable de la plataforma Java SE 6 Update 10, que tiene gran importancia para todo desarrollador Java, algunas de las características que incluye son:
&lt;li&gt;&lt;b&gt;&lt;u&gt;Java Quick Starter&lt;/u&gt;:&lt;/b&gt; Provee mejoras respecto del tiempo de ejecución, habiendo optimizado el tiempo de arranque para cualquier aplicación Java o applet.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;u&gt;Java Kernel&lt;/u&gt;:&lt;/b&gt; Es un nuevo método para poner en funcioncamiento el software Java más rapidamente.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;u&gt;Next-Generation Java Plug-in&lt;/u&gt;:&lt;/b&gt; Java6u10 incluye una nueva implementación del Java plug-in que permite a los consumidores arrastrar y soltar (drag and drop) applets que estan corriendo en sus navegadores directamente en su escritorio, lo que provee una experiencia tipo widget para todas sus aplicaciones Java y applets&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;u&gt;Java Deployment Toolkit&lt;/u&gt;:&lt;/b&gt; Hace que desplegar Java applets o programas Java Web Start sea mucho más fácil, asegurando que la última y más apropiada versión del JRE esté instalada&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;u&gt;Performance Gráfica en Windows&lt;/u&gt;:&lt;/b&gt; El pipeline gráfico para la tecnología Java en Windows ha sido reescrito para aprovechar Direct3D para todo, desde simples rellenos y copias, a traslucidez, gradientes, transformaciones arbitrarias y otras operaciones 2D más avanzadas. Esta capacidad mejora también el rendimiento de tiempo de ejecución de aplicaciones Swing en Windows.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;u&gt;Nimbus - Cross Platform Look and Feel&lt;/u&gt;:&lt;/b&gt; Provee un nuevo y moderno look-n-feel para Java, a través de mejorados controles de interfaz de usuario para desarrolladores, y ha sido dibujado en su totalidad utilizando gráficos vectoriales de Java 2D(TM)&lt;/li&gt;
&lt;a href="http://www.java.com/es" target="_blank"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 70px; height: 70px;" src="http://2.bp.blogspot.com/_ND946y_zWMU/SQDOCKTr9LI/AAAAAAAAAC0/FnXnyvhvNgI/s320/java-full.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5260430901290726578" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-48019691389435834?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/48019691389435834/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=48019691389435834' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/48019691389435834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/48019691389435834'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/lanzamiento-de-java-6-update-10.html' title='Lanzamiento de Java 6 Update 10'/><author><name>Ivana</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_ND946y_zWMU/SSrA4obtB7I/AAAAAAAAADM/EU3nSz0HTmI/S220/grav-ity-firetux-8258.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ND946y_zWMU/SQDOCKTr9LI/AAAAAAAAAC0/FnXnyvhvNgI/s72-c/java-full.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-8212629972394612449</id><published>2008-10-17T19:33:00.004-03:00</published><updated>2008-10-17T19:41:03.443-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='comunidad'/><category scheme='http://www.blogger.com/atom/ns#' term='sitio'/><title type='text'>Jujuy JUG</title><content type='html'>&lt;p&gt;Hola a todos!&lt;/p&gt;

&lt;p&gt;Queriamos cometarles que ya &lt;b&gt;poseemos un hosting&lt;/b&gt; y que estamos trabajando para montar nuestro sitio allí, por lo que &lt;b&gt;vamos a dejar de usar este espacio en blogger&lt;/b&gt;...&lt;/p&gt;
&lt;p&gt;Invitamos a todos para que se nos unan en este emprendimiento...
&lt;b&gt;Espero que nos sigan visitando&lt;/b&gt;, porque ahora sí vamos a comenzar a publicar cosas en serio.&lt;/p&gt;


&lt;p&gt;Saludos.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Miembros Fundadores de Jujuy JUG&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-8212629972394612449?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/8212629972394612449/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=8212629972394612449' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8212629972394612449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8212629972394612449'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/jujuy-jug.html' title='Jujuy JUG'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-422190738016921135</id><published>2008-10-16T10:03:00.007-03:00</published><updated>2008-10-16T11:18:46.205-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='tutoriales'/><category scheme='http://www.blogger.com/atom/ns#' term='sound'/><title type='text'>JavaSound API</title><content type='html'>&lt;p&gt;JavaSound es una API de bajo nivel, para dar efectos basicos y el control de la entrada y salida de sonido de los medios de comunicación, incluidos los de audio y de Interfaz digital de instrumentos musicales (MIDI) de datos.&lt;/p&gt;&lt;p&gt; JavaSound API ofrece control explicito sobre las capacidades que normalmente se exige para una entrada y salida de sonido, en un framework que promueva la flexibilidad y extensibilidad.&lt;/p&gt;

&lt;p&gt;Enlaces utiles:
&lt;br&gt;
&lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/sound/programmer_guide/contents.html"&gt;Java Sound Programmer Guide&lt;/a&gt;&lt;br&gt;
&lt;a href="http://java.sun.com/products/java-media/sound/index.jsp"&gt;Pagina de SUN sobre la Java Spund API&lt;/a&gt;&lt;br&gt;
&lt;a href="http://cprades.eresmas.com/Tecnica/sonidoenjava.html"&gt;Documento en Castellano basico para la JavaSound API&lt;/a&gt;&lt;br&gt;
&lt;a href="http://java.sun.com/javase/technologies/desktop/media/jmf/2.1.1/guide/JMFCapturing.html"&gt;Como capturar Sonido desde el microfono&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.dickbaldwin.com/tocadv.htm"&gt;Lista de Tutoriales, que incluye informacion sobre JavaSound. Tiene mucha practica.RECOMENDADO&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-422190738016921135?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/422190738016921135/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=422190738016921135' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/422190738016921135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/422190738016921135'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/javasound-api.html' title='JavaSound API'/><author><name>Pablo Benjamin</name><uri>http://www.blogger.com/profile/17460043321874204758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-7850287341469710625</id><published>2008-10-15T10:58:00.003-03:00</published><updated>2008-10-15T11:09:00.848-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='jdk1.4'/><category scheme='http://www.blogger.com/atom/ns#' term='rip'/><title type='text'>JDK 1.4 RIP</title><content type='html'>&lt;p&gt;Como adelanta Alex Miller en su blog, este 30 de octubre de 2008, el JDK 1.4 llega al final de lo que los de Sun llaman &lt;em&gt;End Of Service Life&lt;/em&gt; (EOSL) lo que significa que la empresa dejará de darle soporte gratuito y publicar bug fixes.&lt;/p&gt;&lt;p&gt;Alex pone como ejemplo lo que paso con la versión 1.3, que a pesar de que se publicó un patch con los datos de las zonas horarias actualizados, ya no ha habido versiones que solucionen bugs. &lt;/p&gt;&lt;p&gt;El JDK 1.4 ha sido una de las versiones más usadas en la historia de Java e incluso en muchas empresas siguen confiando en él para sus desarrollos. De acuerdo a los datos de Sun, estuvo en Service Life 6 1/2 años, por lo que ya merece un descanso.&lt;/p&gt;&lt;p&gt;Parte d ela longevidad del 1.4 tuvo que ver con los cambios significativos que sufrió la plataforma con el JDK 5, que no hacía fácil la migración de desarrollos propios, por lo que los  servidores de aplicaciones tardaron mucho en adoptarla y consecuentemente, los programadores de aplicaciones.&lt;/p&gt;&lt;p&gt;Por cierto, según la misma tabla de Sun, el JDK 5 termina su vida de servicio en octubre del próximo año... &lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;p&gt;Fuente: &lt;a href="http://www.javahispano.org/contenidos/es/jdk_1_4_rip/"&gt;JavaHispano,jdk 1.4 RIP&lt;/a&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-7850287341469710625?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/7850287341469710625/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=7850287341469710625' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/7850287341469710625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/7850287341469710625'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/jdk-14-rip.html' title='JDK 1.4 RIP'/><author><name>Pablo Benjamin</name><uri>http://www.blogger.com/profile/17460043321874204758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-4252218212594615869</id><published>2008-10-13T03:01:00.007-03:00</published><updated>2008-10-13T03:20:32.396-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aprender java'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jtable'/><category scheme='http://www.blogger.com/atom/ns#' term='seleccion fila'/><title type='text'>Uso de JTable III - 3. Seleccionar una Fila del JTable</title><content type='html'>&lt;div&gt;3. SELECCIONAR      UNA FILA DEL JTABLE.
&lt;ol style="margin-top:0cm" start="1" type="1"&gt; &lt;/ol&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Hacer esto es muy sencillo, nada mas usando las funciones &lt;span lang="ES"   style="mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;getSelectedRow()&lt;/span&gt; y &lt;span lang="ES"   style="mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;getValueAt(fila, columna)&lt;/span&gt; del JTable.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo1; tab-stops:list 72.0pt"&gt;&lt;span style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;getSelectedRow() devuelve un entero con el número de fila seleccionado, si se marcan varias filas, devuelve el número de la ultima fila seleccionada.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo1; tab-stops:list 72.0pt"&gt;&lt;span style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;getSelectedColumn() devuelve un entero con el número de columna seleccionado.&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo1; tab-stops:list 72.0pt"&gt;&lt;span style="font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;getValueAt(fila, columna) devuelve un objeto del tipo Object con el contenido de la celda especificada. Para trabajar ese contenido solo tenemos que convertirlo al tipo de dato que queremos. Ej (&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;String.valueOf(jTableDatos.getValueAt(1,1))&lt;/span&gt; esto nos devuelve un String con el apellido que figura en la fila 1). Cabe recordar que las filas empiezan en 0.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ejemplo:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Obtenemos el número de fila seleccionado &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;int fila=miJTable.getSelectedRow(); &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Luego con la funcion getValueAt le pasamos como parámetro la fila y el número de columna que queremos&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;&lt;/p&gt;  &lt;div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt; mso-border-bottom-alt:solid windowtext .75pt;padding:0cm 0cm 1.0pt 0cm"&gt;  &lt;p class="MsoNormal" style="border:none;mso-border-bottom-alt:solid windowtext .75pt; padding:0cm;mso-padding-alt:0cm 0cm 1.0pt 0cm"&gt;&lt;span lang="EN-US"   style="mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;String valorCelda = (String) miJTable.getValueAt(fila,0);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US"&gt;Ejemplo:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="mso-ansi-language:EN-US"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;En este ejemplo, cargue dos filas en la tabla, luego seleccione la tercera columna de la segunda fila con el valor Gutty. La ventana muestra lo siguiente:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pjxuVGuhCvk/SPLlKslE-LI/AAAAAAAAABo/ze1ylcUFsDQ/s1600-h/jtable-celda-seleccionada-con-dos-datos.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_pjxuVGuhCvk/SPLlKslE-LI/AAAAAAAAABo/ze1ylcUFsDQ/s320/jtable-celda-seleccionada-con-dos-datos.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5256515687022917810" /&gt;&lt;/a&gt;
&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_pjxuVGuhCvk/SPLlB3tkKLI/AAAAAAAAABg/pXH5X7HmrL0/s1600-h/mostrar+seleccion.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_pjxuVGuhCvk/SPLlB3tkKLI/AAAAAAAAABg/pXH5X7HmrL0/s320/mostrar+seleccion.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5256515535392483506" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;
&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;El código encargado de sacar los datos del JTable es el siguiente:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;private void jTableDatosMouseClicked(java.awt.event.MouseEvent evt)&lt;span style="mso-spacerun:yes"&gt;                                         &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;{&lt;span style="mso-spacerun:yes"&gt;                                             &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// primero, obtengo la fila seleccionada&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;int fila = this.jTableDatos.getSelectedRow();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// luego, obtengo la columna seleccionada&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;int columna = this.jTableDatos.getSelectedColumn();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// por ultimo, obtengo el valor de la celda&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;String dato = String.valueOf(this.jTableDatos.getValueAt(fila,columna));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// ahora creo la ventana que me va a mostrar esos datos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;VentanaMostrarCelda mostrarCelda = new VentanaMostrarCelda(this,true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// llamo al metodo en la ventana mostrarCelda encargado de mostrar los datos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;mostrarCelda.mostrar(fila,columna,dato);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// hago visible la ventana&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;mostrarCelda.setVisible(true);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;}&lt;span style="mso-spacerun:yes"&gt;       &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;En este caso, programe el evento mouseClicked(). Particularmente no recomiendo programar algoritmos dentro de la declaración de eventos, puesto que si queremos utilizar el mismo método, vamos a tener que volver a escribir el código y eso significa redundancia.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;En la ventana que muestra los datos existe un método encargado de mostrar los datos recibidos de la ventana principal:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;public void mostrar(int fila, int columna, String dato)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;this.jTextColumna.setText(String.valueOf(columna));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;this.jTextFila.setText(String.valueOf(fila));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;this.jTextValor.setText(dato.trim());&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_pjxuVGuhCvk/SPLkhVfRD7I/AAAAAAAAABQ/5it-E1LWr2Q/s1600-h/jtable-celda-seleccionada-con-dos-datos.JPG" style="text-decoration: none;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;
&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="text-decoration: underline;"&gt;
&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/a&gt;
&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-4252218212594615869?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/4252218212594615869/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=4252218212594615869' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/4252218212594615869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/4252218212594615869'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/uso-de-jtable-iii-3-seleccionar-una.html' title='Uso de JTable III - 3. Seleccionar una Fila del JTable'/><author><name>minmmey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_pjxuVGuhCvk/S3jTulqZRtI/AAAAAAAAACg/DFTn3cZqJXw/S220/logo.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_pjxuVGuhCvk/SPLlKslE-LI/AAAAAAAAABo/ze1ylcUFsDQ/s72-c/jtable-celda-seleccionada-con-dos-datos.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-6165416637612192783</id><published>2008-10-09T17:54:00.002-03:00</published><updated>2008-10-09T17:59:31.350-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comunidad'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='software libre'/><title type='text'>3ras Jornadas de Software Libre</title><content type='html'>&lt;p&gt;Las 3ras Jornadas de Software Libre de Catamarca se realizarán los días 31 de octubre y 1 de noviembre del 2008 en la Universidad Nacional de Catamarca , organizado por GULCAr (Grupo de Usuarios de Software Libre de Catamarca).&lt;/p&gt;
&lt;p&gt;Objetivos de las jornadas:&lt;br /&gt;
Promover un espacio comunitario en reflexión en torno a la realidad del Software Libre y su vinculación activa con el desarrollo tecnológico sustentable.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.gulcar.org/jornadas"&gt;
&lt;img src="http://www.gulcar.org/jornadas/images/stories/header3JSL.jpg" alt=" " width="431" height="60" /&gt;
&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-6165416637612192783?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/6165416637612192783/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=6165416637612192783' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/6165416637612192783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/6165416637612192783'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/3ras-jornadas-de-software-libre.html' title='3ras Jornadas de Software Libre'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-647491788198167426</id><published>2008-10-09T01:47:00.006-03:00</published><updated>2008-10-09T02:21:16.786-03:00</updated><title type='text'>Uso de JTable II - 2. Introducir contenido al JTable</title><content type='html'>&lt;div&gt;2. INTRODUCIR CONTENIDO AL JTABLE.
&lt;ol start="1" type="1" style="margin-top: 0cm; "&gt;&lt;/ol&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; Como había mencionado antes, JTable emplea un objeto llamado DefaultTableModel que en realidad este es el que guarda el contenido para luego colocarlo en el JTable. Cada vez que modifiquemos ese objeto automáticamente se refrescara el JTable. Básicamente, para agregar datos a una tabla hay que crear un vector del tipo String cuyo tamaño sea menor o igual a la cantidad de columnas que tenga nuestra tabla, luego se llena ese vector con los datos que deseamos mostrar en la tabla (teniendo en cuenta el orden en que deben aparecer).&lt;/o:p&gt;&lt;/p&gt;&lt;div style="border-top-style: none; border-right-style: none; border-left-style: none; border-width: initial; border-color: initial; border-bottom-style: solid; border-bottom-color: windowtext; border-bottom-width: 1pt; padding-top: 0cm; padding-right: 0cm; padding-bottom: 1pt; padding-left: 0cm; "&gt;&lt;p class="MsoNormal" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 0cm; "&gt;Si tenemos una tabla de 5 columnas, el tamaño del vector necesariamente debe ser menor o igual 5. Si creamos un vector de 3 elementos y le asignamos valores, cuando agreguemos la fila al JTable, esta tendrá las 3 primeras columnas con datos y las restantes en blanco, esto es útil cuando tenemos columnas con tipos de datos numéricos, booleanos o los que queremos dejar en blanco para rellenar luego (como en el detalle de una factura por ejemplo, donde dejamos libre una columna para rellenar con la cantidad del producto que se esta facturando).&lt;/p&gt;&lt;p class="MsoNormal" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 0cm; "&gt;Con el siguiente ejemplo muestro como es que se hace esto. Como ya mencione, utilizo Netbeans para desarrollar el ejemplo así que asumo que el IDE crea las declaraciones para crear el objeto JTable.&lt;/p&gt;&lt;p class="MsoNormal" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 0cm; "&gt;El ejemplo completo consiste en una interfase en la que escribimos el DNI, apellido y nombre de una persona y luego la agregamos al JTable.&lt;/p&gt;&lt;p class="MsoNormal" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 0cm; "&gt;El ejemplo completo se puede descargar de &lt;a href="http://rapidshare.com/files/152253186/EjemploJTableInsertarDatos.zip.html"&gt;aquí&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 0cm; "&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 0cm; "&gt;A continuación voy mostrar e intentar explicar la parte que nos interesa, la de cómo agregar datos al JTable.&lt;/p&gt;&lt;/div&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;El sistema corriendo se ve de la siguiente manera:&lt;/p&gt;&lt;/div&gt;&lt;div&gt;
&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_pjxuVGuhCvk/SO2QVmA0VGI/AAAAAAAAAAw/WX3hyybxqQw/s1600-h/sistema-corriendo.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_pjxuVGuhCvk/SO2QVmA0VGI/AAAAAAAAAAw/WX3hyybxqQw/s320/sistema-corriendo.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5255015040866866274" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;El código necesario para poder cargar datos al JTable es el siguiente&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;private void agregarDatos()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// obtengo el modelo de la tabla (El TableModel)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;DefaultTableModel modelo = (DefaultTableModel)this.jTableDatos.getModel();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// defino el vector que contendra los datos a cargar en la tabla&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;String datos[] = new String[3];// como la tabla contiene 3 columnas, le asigno 3 como tamaño al vector&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES"   style=" mso-ansi-language:ES;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"   style="mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;// ahora cargo el vector con los datos que cargo el usuario.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;datos[0] = this.jTextDni.getText().trim();// primero el DNI, el trim() es para que no se cargue el espacio en blanco&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;datos[1] = this.jTextApellido.getText().trim();// ahora el apellido.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;datos[2] = this.jTextNombre.getText().trim(); // por ultimo el nombre.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;//ahora agrego los datos al TableModel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;modelo.addRow(datos);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;// y listo, los datos aparecen en la tabla&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"   style=" mso-ansi-language:EN-US;font-size:11.0pt;color:maroon;"&gt;&lt;span style="mso-spacerun:yes"&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt; mso-border-bottom-alt:solid windowtext .75pt;padding:0cm 0cm 1.0pt 0cm"&gt;  &lt;p class="MsoNormal" style="border:none;mso-border-bottom-alt:solid windowtext .75pt; padding:0cm;mso-padding-alt:0cm 0cm 1.0pt 0cm"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="border:none;mso-border-bottom-alt:solid windowtext .75pt; padding:0cm;mso-padding-alt:0cm 0cm 1.0pt 0cm"&gt;Cada vez que se presione el botón “Agregar”, el sistema toma los datos cargados en los JTextField y los agrega a la tabla&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-647491788198167426?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/647491788198167426/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=647491788198167426' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/647491788198167426'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/647491788198167426'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/uso-de-jtable-ii-2-introducir-contenido.html' title='Uso de JTable II - 2. Introducir contenido al JTable'/><author><name>minmmey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_pjxuVGuhCvk/S3jTulqZRtI/AAAAAAAAACg/DFTn3cZqJXw/S220/logo.bmp'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_pjxuVGuhCvk/SO2QVmA0VGI/AAAAAAAAAAw/WX3hyybxqQw/s72-c/sistema-corriendo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-4445169732272646084</id><published>2008-10-07T01:08:00.003-03:00</published><updated>2008-10-07T01:16:12.719-03:00</updated><title type='text'>Uso de JTable I - 1. Algo de teoria</title><content type='html'>&lt;p class="MsoNormal"&gt;Muchas veces he tenido que realizar algún software que use JTable y cuando ya pensaba que nada nuevo me iba a hacer falta aprender surgía alguna complicación y tenía que tratarla de forma especial, por lo que tenía que pasar algunas horas en google tratando de encontrar esa forma especial de trabajar con los problemas. Lo que pretendo con esta serie de post es compartir un poco las formas de usar un JTable de muchas diferentes maneras, aunque de seguro no son todas pero a medida que vaya aprendiendo cosas nuevas las voy a ir posteando.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Todos los ejemplos que presento han sido creados por mi para mostrar como trabaja la funcionalidad que intento mostrar, aunque el código no siempre va a ser totalmente mío, en la medida que pueda voy a citar la fuente pues el merito es de ellos, además, a veces ni se que es lo que hacen pero igual funciona jejeje. Después de todo, mientras funcione, solo modificamos lo que nos sirve &lt;span style="font-family:Wingdings;mso-ascii-font-family:&amp;quot;Times New Roman&amp;quot;; mso-hansi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-char-type:symbol;mso-symbol-font-family: Wingdings"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings"&gt;J&lt;/span&gt;&lt;/span&gt; Los ejemplos fueron escritos usando NetBeans como IDE.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Espero que les sea útil.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Los temas a tratar en la serie de post son los siguientes:&lt;/p&gt;  &lt;ol style="margin-top:0cm" start="1" type="1"&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Algo de teoría.&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Introducir contenido al JTable.&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Seleccionar una fila del JTable.&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Limpiando el contenido del      JTable.&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Establecer el tamaño de      las columnas por defecto.&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Validar el contenido de      los campos.&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Definir el número de      columnas en tiempo de ejecución.&lt;/li&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1"&gt;Cualquier otra cosa que      salga o consulta sobre el tema.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;&lt;ol style="margin-top:0cm" start="1" type="1"&gt;  &lt;li class="MsoNormal" style="mso-list:l0 level1 lfo1;tab-stops:list 36.0pt"&gt;ALGO      DE TEORIA.&lt;/li&gt; &lt;/ol&gt;  &lt;p class="MsoNormal"&gt;Con la clase JTable, se pueden mostrar tablas de datos, y opcionalmente permitir que el usuario los edite. JTable no contiene ni almacena datos; simplemente es una vista de nuestros datos.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Algunos de los constructores que emplea esta clase son los siguientes:&lt;span lang="EN-US" style="mso-ansi-language:EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:36.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level1 lfo2; tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Wingdings;mso-fareast-font-family:Wingdings; mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;JTable() &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:72.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level2 lfo2; tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt; color:navy"&gt;JTable()&lt;/span&gt;&lt;/code&gt;&lt;span style="color:navy"&gt; predeterminado&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:36.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level1 lfo2; tab-stops:list 36.0pt"&gt;&lt;span lang="EN-US" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings;mso-fareast-font-family: Wingdings;mso-bidi-font-family:Wingdings;color:navy;mso-ansi-language:EN-US"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color:navy;mso-ansi-language:EN-US"&gt;JTable(int numRows, int numColumns) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:72.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level2 lfo2; tab-stops:list 72.0pt"&gt;&lt;span lang="ES" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language:ES"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;JTable()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;con &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;numRows&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; y &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;numColumns&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; de celdas vacías, utilizando &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;DefaultTableModel&lt;/span&gt;&lt;/code&gt;&lt;span lang="ES" style="color:navy;mso-ansi-language:ES"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:36.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level1 lfo2; tab-stops:list 36.0pt"&gt;&lt;span lang="EN-US" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings;mso-fareast-font-family: Wingdings;mso-bidi-font-family:Wingdings;color:navy;mso-ansi-language:EN-US"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="color:navy;mso-ansi-language:EN-US"&gt;JTable(Object[][] rowData, Object[] columnNames) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:72.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level2 lfo2; tab-stops:list 72.0pt"&gt;&lt;span lang="ES" style="font-size: 10.0pt;mso-bidi-font-size:12.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language:ES"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;JTable()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; visualizando los valores de &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt; color:navy"&gt;rowData&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color:navy"&gt; en una matriz bidimencional, utilizando &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;columnNames&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; como nombres para las columnas&lt;/span&gt;&lt;span lang="ES" style="color:navy;mso-ansi-language: ES"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:36.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level1 lfo2; tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Wingdings;mso-fareast-font-family:Wingdings; mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;JTable(TableModel dm) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:72.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level2 lfo2; tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;JTable()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; con &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;dm&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt; font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; como &lt;i&gt;modelo de tabla&lt;/i&gt;, un modelo de columna predeterminado y un modelo de selección predeterminado&lt;/span&gt;&lt;span style="color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:36.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level1 lfo2; tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Wingdings;mso-fareast-font-family:Wingdings; mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;JTable(TableModel dm, TableColumnModel cm) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:72.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level2 lfo2; tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;JTable()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; con &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;dm&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt; font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; como &lt;i&gt;modelo de tabla&lt;/i&gt;, &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;cm&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt; font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; como modelo de columna y un modelo de selección predeterminado.&lt;/span&gt;&lt;span style="color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:36.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level1 lfo2; tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Wingdings;mso-fareast-font-family:Wingdings; mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:72.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level2 lfo2; tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;JTable()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; con &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;dm&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt; font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; como &lt;i&gt;modelo de tabla&lt;/i&gt;, &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;cm&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt; font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; como modelo de columna y &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;sm&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt; font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; como modelo de selección.&lt;/span&gt;&lt;span style="color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:36.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level1 lfo2; tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Wingdings;mso-fareast-font-family:Wingdings; mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;JTable(Vector rowData, Vector columnNames) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; margin-left:72.0pt;text-indent:-18.0pt;line-height:14.4pt;mso-list:l1 level2 lfo2; tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:&amp;quot;Courier New&amp;quot;;mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;JTable()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; para visualizar los valores del &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt; color:navy"&gt;Vector&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color:navy"&gt; de Vectores, &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;rowData&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;, con nombres de columnas dados en &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt; color:navy"&gt;columnNames.&lt;/span&gt;&lt;/code&gt;&lt;span style="color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;En el siguiente ejemplo, para crear un JTable se emplea el siguiente código&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:11.0pt;color:maroon"&gt;private javax.swing.JTable jTableDatos;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;jTableDatos = new javax.swing.JTable(); // estamos usando el primer constructor de la lista.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;Pero como había mencionado antes, la clase JTable solo muestra los datos. Para determinar que es lo que queremos mostrar tenemos que utilizar un TableModel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;El modelo de tabla o TableModel&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;Los modelos de tabla son objetos que implementan la interfase TableModel; a través de ellos es posible personalizar mucho más y mejor el comportamiento de los componentes JTable, permitiendo utilizar al máximo sus potencialidades. Todas las tablas cuentan con un modelo de tabla.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;La clase AbstractTableModel es la que implementa directamente a la interfase TableModel, aunque es esta clase la que se recomienda extender para utilizarla como modelo de tabla, existe un modelo de tabla predeterminado que facilita mucho el trabajo con tablas. Este modelo predeterminado es la clase DefaultTableModel.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;Sus constructores son los siguientes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-17.85pt;mso-list: l1 level1 lfo2;tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;DefaultTableModel() &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-17.85pt;mso-list: l2 level2 lfo3;tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;; mso-fareast-font-family:&amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;DefaultTableModel.&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-17.85pt;mso-list: l1 level1 lfo2;tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;DefaultTableModel(int numRows, int numColumns) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-17.85pt;mso-list: l2 level2 lfo3;tab-stops:list 72.0pt"&gt;&lt;span lang="ES" style="font-size:10.0pt;mso-bidi-font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;; mso-fareast-font-family:&amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language:ES"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;DefaultTableModel&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; con &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;numRows&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size: 9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; y &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;numColumns&lt;/span&gt;&lt;/code&gt;&lt;span lang="ES" style="font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language: ES"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-17.85pt;mso-list: l1 level1 lfo2;tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;DefaultTableModel(Object[][] data, Object[] columnNames) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-17.85pt;mso-list: l2 level2 lfo3;tab-stops:list 72.0pt"&gt;&lt;span lang="ES" style="font-size:10.0pt;mso-bidi-font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;; mso-fareast-font-family:&amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language:ES"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;DefaultTableModel&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; e inicia la tabla pasando &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;data&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; y &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;columnNames&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; al método &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;setDataVector()&lt;/span&gt;&lt;/code&gt;&lt;span lang="ES" style="font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language: ES"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-17.85pt;mso-list: l1 level1 lfo2;tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;DefaultTableModel(Object[] columnNames, int numRows) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-17.85pt;mso-list: l2 level2 lfo3;tab-stops:list 72.0pt"&gt;&lt;span lang="ES" style="font-size:10.0pt;mso-bidi-font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;; mso-fareast-font-family:&amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language:ES"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;DefaultTableModel&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; con un número de columnas equivalentes al número de elementos o valores nulos en &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;columnNames&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; y &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;numRows&lt;/span&gt;&lt;/code&gt;&lt;span lang="ES" style="font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:navy;mso-ansi-language: ES"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-17.85pt;mso-list: l1 level1 lfo2;tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;DefaultTableModel(Vector columnNames, int numRows) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-17.85pt;mso-list: l2 level2 lfo3;tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;; mso-fareast-font-family:&amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;DefaultTableModel&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; con un número de columnas equivalentes al número de elementos o valores nulos en &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;columnNames&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; y &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;numRows.&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:36.0pt;text-indent:-17.85pt;mso-list: l1 level1 lfo2;tab-stops:list 36.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Wingdings; mso-fareast-font-family:Wingdings;mso-bidi-font-family:Wingdings;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;Ø&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:navy"&gt;DefaultTableModel(Vector data, Vector columNames) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:72.0pt;text-indent:-17.85pt;mso-list: l2 level2 lfo3;tab-stops:list 72.0pt"&gt;&lt;span style="font-size:10.0pt;mso-bidi-font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;; mso-fareast-font-family:&amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;span style="mso-list:Ignore"&gt;o&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt;Construye un &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;DefaultTableModel&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;;color:navy"&gt; e inicia la tabla pasando &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;data y columnNames&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.5pt;font-family:&amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; color:navy"&gt; al método &lt;/span&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;color:navy"&gt;setDataVector()&lt;/span&gt;&lt;/code&gt;&lt;span style="font-size:9.0pt;font-family:&amp;quot;Courier New&amp;quot;;color:navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; Para mas detalles ver el JavaDoc.&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;
&lt;/p&gt;&lt;p class="MsoNormal"&gt;Si bien el modelo predeterminado &lt;span lang="ES" style="mso-ansi-language:ES"&gt;DefaultTableModel nos facilita mucho el trabajo, no es el optimo dado que emplea demasiados recursos, sin embargo, para aplicaciones pequeñas funciona bastante bien. Mas adelante, en otro articulo sobre optimización de código Java voy a mostrar como mejor el rendimiento de los JTable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;En el ejemplo ya teníamos creado el JTable, ahora hay que agregarle el TableModel. Nuestro código queda así:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size:11.0pt;color:maroon"&gt;private javax.swing.JTable jTableDatos; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;jTableDatos = new javax.swing.JTable(); // estamos usando el primer constructor de la lista.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;jTableDatos.setModel(new javax.swing.table.DefaultTableModel(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon;mso-ansi-language:EN-US"&gt;new Object [][]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;&lt;span style="mso-tab-count:2"&gt;                        &lt;/span&gt;// no se agrega ninguna fila&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;},&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;new String []&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;&lt;span style="mso-spacerun:yes"&gt;                &lt;/span&gt;"D.N.I", "Apellido", "Nombre"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/span&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon;mso-ansi-language:ES"&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;)); // estamos usando el tercer constructor de la lista&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;Ahora ya tenemos creado la tabla con tres columnas (“D.N.I”, “Apellido” y “Nombre”) y ninguna fila, pero si al momento de llenar datos en la tabla, estos superan el tamaño del JTable (superan el numero de filas que el JTable esta mostrando), no podremos visualizarlos. Para ello necesitamos tener las barras de desplazamiento horizontal y vertical (JScrollPanel). Esto se consigue creando un JSCrollPanel y agregando a este el JTable que ya tenemos creado. Nuestro código queda de la siguiente manera:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;jScrollPane1 = new javax.swing.JScrollPane();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US" style="font-size:11.0pt;color:maroon; mso-ansi-language:EN-US"&gt;jTableDatos = new javax.swing.JTable();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;jTableDatos.setModel(new javax.swing.table.DefaultTableModel(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;new Object [][]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;},&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;new String []&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;                &lt;/span&gt;"D.N.I", "Apellido", "Nombre"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;        &lt;/span&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="ES" style="font-size:11.0pt;color:maroon; mso-ansi-language:ES"&gt;&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;jScrollPane1.setViewportView(jTableDatos);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Y listo, ya tenemos creado nuestra tabla con barras de desplazamiento horizontal y vertical.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Sin embargo, todo esto nos lo podemos ahorrar simplemente arrastrando el componente JTable de la lista de componentes del IDE NetBeans, pero siempre es bueno saber de donde es que vienen las cosas.&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-4445169732272646084?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/4445169732272646084/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=4445169732272646084' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/4445169732272646084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/4445169732272646084'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/uso-de-jtable-i-1-algo-de-teoria.html' title='Uso de JTable I - 1. Algo de teoria'/><author><name>minmmey</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/_pjxuVGuhCvk/S3jTulqZRtI/AAAAAAAAACg/DFTn3cZqJXw/S220/logo.bmp'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-8832380767403569232</id><published>2008-10-03T12:59:00.003-03:00</published><updated>2008-10-03T13:07:24.297-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aprender java'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Intro a java</title><content type='html'>&lt;div style="width:425px;text-align:left" id="__ss_68855"&gt;

&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=intro-java2772&amp;stripped_title=intro-java" /&gt;
&lt;param name="allowFullScreen" value="true"/&gt;
&lt;param name="allowScriptAccess" value="always"/&gt;
&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=intro-java2772&amp;stripped_title=intro-java" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;

&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;visibility:hidden"&gt;View SlideShare &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/stefanosalvatori/intro-java?type=powerpoint" title="View Intro Java on SlideShare"&gt;presentation&lt;/a&gt; or &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/upload?type=powerpoint"&gt;Upload&lt;/a&gt; your own. (tags: &lt;a style="text-decoration:underline;" href="http://slideshare.net/tag/siscom"&gt;siscom&lt;/a&gt; &lt;a style="text-decoration:underline;" href="http://slideshare.net/tag/2007"&gt;2007&lt;/a&gt;)&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-8832380767403569232?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/8832380767403569232/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=8832380767403569232' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8832380767403569232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8832380767403569232'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/10/intro-java.html' title='Intro a java'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-3148756007657669623</id><published>2008-09-10T10:45:00.004-03:00</published><updated>2008-09-10T10:54:47.641-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='RIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><title type='text'>Java FX Script</title><content type='html'>&lt;p&gt;¿Qué es JavaFX Script?&lt;/p&gt;

&lt;p&gt;JavaFX Script es un lenguaje de scripting declarativo estáticamente tipado, llamado anteriormente F3 (Form Follows Function) que fue desarrollado en su mayoría por Chris Oliver, quien trabaja para Sun microsystems desde la adquisición de SeeBeyond Technology por parte de esta a fines de 2005.&lt;/p&gt;

&lt;p&gt;El compilador de JavaFX, así como gran parte de las bibliotecas gráficas y herramientas se encuentran liberadas con la licencia GPL2, a través del proyecto OpenJFX.&lt;/p&gt;

&lt;p&gt;JFXS Forma parte del conjunto de tecnologías JavaFX, las cuales tienen el propósito de facilitar la creación de Rich Internet Applications (RIAs) con gran cantidad de contenido multimedia, respetando siempre la idea de Java de poder luego ejecutarlas en forma independiente de la plataforma. Lo último que pudo verse de esta tecnología son las "draggable applets", que son aplicaciones (que como su nombre indica) pueden arrastrarse desde el navegador al escritorio, en donde se convierten en una especie de "widgets" (similares a aquellos del Dashboard en Mac OS X  o los del Sidebar de Windows Vista), estas fueron presentadas en JavaOne 2008, y les dedicamos un post hace tiempo en el que pueden obtener más info.&lt;/p&gt;

&lt;p&gt;La idea de esta serie de artículos es introducir las características de este novedoso lenguaje a través de la realización de pequeños ejemplos. En esta primera parte solo utilizaremos el Pad de JavaFX (click en el link para ejecutarlo), que es una pequeña aplicación multiplataforma que podrán ejecutar desde Internet utilizando Java Web Start (sólo requiere tener instalado el JRE de Java).&lt;/p&gt;

&lt;p&gt;Fuente:&lt;br /&gt; - 
&lt;a href="http://blogs.sun.com/Argentina_ambassador/entry/java_fx_script_primeros_pasos"&gt;Parte 1&lt;/a&gt; - 
&lt;a href="http://blogs.sun.com/Argentina_ambassador/entry/java_fx_script_primeros_pasos1"&gt;Parte 2&lt;/a&gt; - 
&lt;a href="http://blogs.sun.com/Argentina_ambassador/entry/java_fx_script_primeros_pasos2"&gt;Parte 3&lt;/a&gt; - 
&lt;a href="http://blogs.sun.com/Argentina_ambassador/entry/java_fx_script_primeros_pasos4"&gt;Parte 4&lt;/a&gt; - 
&lt;a href="http://blogs.sun.com/Argentina_ambassador/entry/java_fx_script_primeros_pasos5"&gt;Parte 5&lt;/a&gt; - &lt;br /&gt; 
&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="http://blogs.sun.com/Argentina_ambassador/" target="_blank"&gt;Ezequiel Aranda&lt;/a&gt;&lt;br&gt;
Campus Ambassador&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Sun Microsystems, Inc.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-3148756007657669623?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/3148756007657669623/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=3148756007657669623' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3148756007657669623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3148756007657669623'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/09/java-fx-script.html' title='Java FX Script'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-3872595553731257168</id><published>2008-08-27T16:45:00.003-03:00</published><updated>2008-09-05T09:39:10.868-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos y reuniones'/><title type='text'>Jornadas de  Software Libre en  San Pedro</title><content type='html'>&lt;p&gt;Inscripción a las jornadas de  Software Libre en  San Pedro se realizara por medio de email a las cuentas: &lt;/p&gt;

&lt;p&gt;inferno23@gmail.com o menteslibres2007@gmail.com&lt;/p&gt;

&lt;p&gt;Enviar  los siguientes datos: Nombres, apellido, DNI si desean el certificado avalado por la UNJU, Libreta Universitaria.
Detallar si son alumnos de otras instituciones (UCSE, INTELA , Instituto DELTA , Profesorado de Tecnología de Perico, etc. ).&lt;/p&gt;

&lt;p&gt;Se realizara la inscripción en la escuela Tecnica N1 Coronel Manuel Alvarez Prado ubicada en Miguel Araoz y Mitre, todos los días de 19hs a 2130hs en la Biblioteca de la institución. Se inscribira hasta el mismo día  del evento.&lt;/p&gt;

&lt;p&gt;Se puede llevar la PC para instalar la versión que más les interese mas los aplicativos que deseen.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-3872595553731257168?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/3872595553731257168/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=3872595553731257168' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3872595553731257168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3872595553731257168'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/08/inscripcion-las-jornadas-de-software.html' title='Jornadas de  Software Libre en  San Pedro'/><author><name>Marko Inferno</name><uri>http://www.blogger.com/profile/13304540947512529974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://4.bp.blogspot.com/_i5q852Vn6j8/SKdzz1zj78I/AAAAAAAAAAM/tBfNL2Sezeg/S220/HombreAra%C3%B1a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-261939519717442098</id><published>2008-08-16T21:45:00.005-03:00</published><updated>2008-09-10T14:28:47.980-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos y reuniones'/><title type='text'>Primera Jornada de Software Libre – Filial San Pedro de Jujuy</title><content type='html'>&lt;p&gt; El día 6 de Septiembre a partir de las 9hs hasta las 18hs tendrá lugar la Primera Jornada de Software Libre Filial San Pedro de Jujuy en las instalaciones de la escuela Tecnica N1 Coronel Manuel Alvaresz Prado ubicada en Miguel Araoz y Mitre.
&lt;/p&gt; &lt;p&gt; RESPONSABLES: &lt;/p&gt; &lt;p&gt;Los Responsables de la realización de las jornadas estará a cargo de la Asociación Civil Mentes Libres con Personeria Juridica N° 1229 –G- 08  cuyos representantes son: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Presidente: Marco Antonio Farfan&lt;/li&gt;&lt;li&gt;Secretario: Herrera, Antonio Ramon&lt;/li&gt;&lt;li&gt;Vocal Titular:Analia Carolina Asaye&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; CONTENIDOS :
La Primera Jornada de Software Libre Filial San Pedro esta organizado en &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Introducción del Software Libres&lt;/li&gt;&lt;li&gt;Las distintas distribuciones de Linux&lt;/li&gt;&lt;li&gt;Aplicaciones del Software Libre.&lt;/li&gt;&lt;li&gt;Instalación de las distintas distribuciones del Linux.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; Ponencias confirmadas: &lt;/p&gt; &lt;p&gt; Distribuciones de Linux y las herramientas libres (Luis Wayar) &lt;/p&gt; &lt;p&gt; Aplicaciones del software Libre en la Educación (Luis Wayar) &lt;/p&gt; &lt;p&gt; Configuraciones de Instalación del Software Libre (Daniel Castro) &lt;/p&gt; &lt;p&gt;
Para disertar se necesita enviar una solicitud a &lt;a href="mailto:marcko@jujuyjug.com.ar"&gt;marcko@jujuyjug.com.ar&lt;/a&gt; hasta el 20 de agosto con el resumen del tema, su CV y lo que necesitan para realizar la disertación.
Todo esto es para ser presentado en el rectorado de la UNJU para pedir certificación como disertante en la resolución.
Las solicitudes recibidas después del 20, podrán exponer su tema pero no es factible que se reciba el certificado de disertante. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-261939519717442098?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/261939519717442098/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=261939519717442098' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/261939519717442098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/261939519717442098'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/08/primera-jornada-de-software-libre.html' title='Primera Jornada de Software Libre – Filial San Pedro de Jujuy'/><author><name>Marko Inferno</name><uri>http://www.blogger.com/profile/13304540947512529974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='26' src='http://4.bp.blogspot.com/_i5q852Vn6j8/SKdzz1zj78I/AAAAAAAAAAM/tBfNL2Sezeg/S220/HombreAra%C3%B1a.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-8492850913344994684</id><published>2008-08-01T11:37:00.000-03:00</published><updated>2008-09-09T14:58:05.895-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aprender java'/><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><category scheme='http://www.blogger.com/atom/ns#' term='Netbeans'/><title type='text'>Aprender Java</title><content type='html'>&lt;p align="justify"&gt;Aprender la plataforma Java puede ser una aventura. Con las tecnologías de Java, uno puede hacer mucho. Sin embargo, encontrar &lt;strong&gt;que es&lt;/strong&gt; lo que uno quiere hacer y donde empezar es el primer desafío a superar. Este artículo describe las herramientas que uno puede utilizar para &lt;strong&gt;APRENDER JAVA&lt;/strong&gt; . Ustedes elijen con que herramienta &lt;strong&gt;(gratuitas todas ellas)&lt;/strong&gt; comenzar, en función de lo que ya conocen. Después de leer esta nota, descubrirán recursos para aprender estas tecnologìas, y los detalles del lenguaje de programación Java.&lt;/p&gt;
&lt;p&gt;&lt;!-- BEGIN IMAGE WITH CAPTION --&gt;&lt;/p&gt;
&lt;table width="450" border="0" cellpadding="2" cellspacing="0"&gt;
&lt;tbody&gt;

&lt;tr&gt;
&lt;td class="grey3" align="center"&gt;&lt;img src="http://java.sun.com/developer/technicalArticles/young_dev_learning_path/images/screen-lunarlander.jpg" alt="Greenfoot Lunarlander" width="450" height="320"&gt;
&lt;div class="pad3"&gt;&lt;span class="dkcaption1"&gt;&lt;strong&gt;Figura 1.&lt;/strong&gt; &lt;em&gt;Greenfoot Lunarlander&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;!-- END IMAGE WITH CAPTION --&gt;&lt;span class="sp10"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p align="justify"&gt;La aventura de aprender la plataforma Java, debería ser &lt;strong&gt;DIVERTIDA&lt;/strong&gt;, &lt;strong&gt;CLARA y EXCITANTE&lt;/strong&gt;. Comiencen con una de las herramientas que se listan a continuación, trabajen en su camino a la siguiente herramienta, e incluyan los recursos a medida que se sientan cómodos. Antes de darse cuenta, ya van a estar creando aplicaciones Java!!!&lt;/p&gt;

&lt;div&gt;&lt;strong&gt;Antes de comenzar&lt;br&gt;
&lt;/strong&gt;&lt;/div&gt;
&lt;div class="contentdivider"&gt;
&lt;table class="grey4" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="http://java.sun.com/im/a.gif" alt="" width="1" border="0" height="4"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Antes de comenzar a leer sobre estas herramientas, necesitan bajarse Java Standard Edition (Java SE) el cual usan todas las herramientas.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://java.sun.com/javase/downloads/?intcmp=1281"&gt;Bajar Java SE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Una vez que hayan instalado&amp;nbsp; Java SE en sus máquinas, estàn listos para empezar a utilizar las siguientes herramientas.&lt;/p&gt;

&lt;div&gt;&lt;strong&gt;Análisis previo antes de comenzar&lt;br&gt;
&lt;/strong&gt;&lt;/div&gt;
&lt;div class="contentdivider"&gt;
&lt;table class="grey4" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="http://java.sun.com/im/a.gif" alt="" width="1" border="0" height="4"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Que herramienta decidan usar depende del conocimiento previo que traigan del mundo de la programación, y en particular de Java. Todas estas herramientas esta diseñadas para mostrarte como programar en forma gráfica, en vez de lanzar un puñado de lineas de código confusas. Las herramientas muestran las relaciones entre &lt;a title="What's an Object?" href="http://java.sun.com/docs/books/tutorial/java/concepts/object.html"&gt;objetos&lt;/a&gt; (aprenderán sobre objetos con estas herramientas), y como hacer para que estos objetos interactuen y hagan cosas. Cabe aclarar, que cada herramienta fue diseñada pensando en un público específico, con cierto grado de conocimiento.&lt;/p&gt;

&lt;p&gt;Si ustedes comienzan&amp;nbsp; de cero (sin experiencia en programación) el camino a seguir es el siguiente:Greenfoot &amp;gt; BlueJ &amp;gt; the NetBeans IDE BlueJ Edition, como se muestra en la figura2 &lt;em&gt;(les dije que las 3 son GRATUITAS???)&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;!-- BEGIN IMAGE WITH CAPTION --&gt;&lt;/p&gt;
&lt;table width="437" border="0" cellpadding="2" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="grey3" align="center"&gt;&lt;img src="http://java.sun.com/developer/technicalArticles/young_dev_learning_path/images/path.jpg" alt="Learning Path for new developers" width="437" height="177"&gt;
&lt;div class="pad3"&gt;&lt;span class="dkcaption1"&gt;&lt;strong&gt;Figura 2.&lt;/strong&gt; &lt;em&gt;Herramientas y camino de aprendizaje&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;

&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;!-- END IMAGE WITH CAPTION --&gt;&lt;span class="sp10"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Mucho de ustedes, tal vez ya sepan algo de programación, o tal vez conozcan un poco de algún otro lenguaje de programación, o tal vez tomaron una clase o 2 pero necesitan mayor entendimiento y dominio del tema. La descripción de cada herramienta a continuación les ayudará a decidir por donde les conviene arrancar&lt;/p&gt;
&lt;div&gt;&lt;strong&gt;Las Herramientas&lt;br&gt;
&lt;/strong&gt;&lt;/div&gt;
&lt;div class="contentdivider"&gt;
&lt;table class="grey4" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="http://java.sun.com/im/a.gif" alt="" width="1" border="0" height="4"&gt;&lt;/td&gt;
&lt;/tr&gt;

&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Cada herramienta te ayuda a visualizar que está ocurriendo cuando se crea un programa. Estas te ayudan a ver a los objetos y sus interacciones para que puedas entender mejor los conceptos abstractos&lt;/p&gt;
&lt;p&gt;&lt;!-- BEGIN VCH3 PHOTO COMPONENT  --&gt;&lt;/p&gt;
&lt;table border="0" cellpadding="2" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="center"&gt;&lt;img src="http://java.sun.com/developer/technicalArticles/young_dev_learning_path/images/greenfoot-icon-64.png" alt="" width="64" border="0" height="64"&gt;&lt;strong&gt;Greenfoot&lt;/strong&gt; [&lt;a title="Download Greenfoot" href="http://www.greenfoot.org/download/" target="_blank"&gt;Download&lt;/a&gt;]&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;

&lt;/table&gt;
&lt;p&gt;&lt;span class="sp10"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!-- END VCH3 PHOTO COMPONENT --&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Greenfoot &lt;em&gt;(que es gratuita)&lt;/em&gt; está pensada para alumnos de nivel secundario (13+),&amp;nbsp; pero esto no significa que alguien menor o mayor no se beneficie de utilizarla. Basicamente, Greenfoot esta pensada para que se den los “&lt;strong&gt;PRIMEROS PASOS&lt;/strong&gt;” en la programación a nivel colegio secundario. El énfasis esta puesto en lograr crear algo divertido y excitante en pantalla en forma rápida y sencilla. Es una puerta fácil, y agradable al mundo de la programación para que las personas puedan llevarse una primera impresión agradable de la&amp;nbsp; tarea de “codear” como algunos dicen. &lt;strong&gt;Es IDEAL para personas que&amp;nbsp; a priori, no tienen interés en la programación&lt;/strong&gt;. Greenfoot es divertida, ágil, y genera interés porque está especializado en crear aplicaciones gráficas en 2D. Esto permite hacer cosas en forma rápida, y fácil, y que sean visualmente atractivas. Greenfoot te guía en tu programación. Greenfoot permite crear juegos, animaciones, y otras aplicaciones atractivas visualmente, que empiezan a mostrar conceptos básicos de la programación orientada a objetos, y otros conceptos un poco más complejos como polimorfismo, herencia, hasta concurrencia y otros temás complejos. Una vez que “estás enganchado”,&amp;nbsp; puedes graduarte y pasar al BlueJ, y un rato más tarde probar el NetBeans IDE BlueJ Edition.&lt;/p&gt;

&lt;p&gt;Bajar &lt;a href="http://www.greenfoot.org/doc/intro1.html" target="_blank"&gt;Tutorial introductorio&lt;/a&gt; (en inglés)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.greenfoot.org/doc/intro1.html" target="_blank"&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;!-- BEGIN VCH3 PHOTO COMPONENT  --&gt;&lt;/p&gt;
&lt;table border="0" cellpadding="2" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="center"&gt;&lt;img src="http://java.sun.com/developer/technicalArticles/young_dev_learning_path/images/bluej-64-toned.jpg" alt="" width="64" border="0" height="64"&gt;&lt;strong&gt;BlueJ&lt;/strong&gt; [&lt;a title="Download BlueJ" href="http://www.bluej.org/download/download.html" target="_blank"&gt;Bajar&lt;/a&gt;]&lt;/td&gt;

&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span class="sp10"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!-- END VCH3 PHOTO COMPONENT --&gt;&lt;/p&gt;
&lt;p align="justify"&gt;BlueJ &lt;em&gt;(que es gratuita)&lt;/em&gt; esta pensado para un ámbito universitario introductorio (primer año), un terciario o las carreras de tecnicatura. Se asume que ustedes ya tienen un conocimiento previo de programación, que están interesados en aprender programación y que lo quieren hacer de una manera mas organizada. BlueJ es genérico. Puede ser utilizado para desarrollar todo tipo de aplicaciones. BlueJ enseña los fundamentos de &lt;a href="http://java.sun.com/docs/books/tutorial/java/concepts/object.html"&gt;objectos&lt;/a&gt;, &lt;a href="http://java.sun.com/books/tutorial/java/javaOO/methods.html"&gt;metodos&lt;/a&gt;, y &lt;a href="http://java.sun.com/docs/books/tutorial/java/javaOO/initial.html"&gt;campos&lt;/a&gt;, y muestra en forma visual la relación entre cualquier cosa que uno crea. Uno aprende&amp;nbsp; los engranajes principales del lenguaje Java, y puede ver que está ocurriendo en forma visual. El énfasis aquí está puesto en la visualización y las técnicas de interacción&amp;nbsp; para crear un ambiente altamente interactivo que motive la experimentación y exploración.&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td colspan="2"&gt;BlueJ Soporta:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture2" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Ambiente totalmente integrado&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture5" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Display de estructuras de clases gráfico&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;

&lt;td&gt;&lt;img id="Picture4" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Edición textual y gráfica&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture6" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Editor Built-in, Compilador, Máquina Virtual, Debugger, etc.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture3" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Interface facil-de-usar, ideal para novatos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture7" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Creación de objetos interactiva&lt;/td&gt;

&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture8" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;ILlamada a objetos interactiva&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture10" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Testing interactivo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr valign="top" align="left"&gt;
&lt;td&gt;&lt;img id="Picture12" src="http://www.bluej.org/images/decor/bullet.gif" alt="RingsDataListIcon.gif" vspace="0" width="11" align="top" border="0" height="11" hspace="0"&gt;&lt;/td&gt;
&lt;td&gt;Desarrollo de aplicaciones incremental&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;

&lt;/table&gt;
&lt;p&gt;Bajar &lt;a href="http://www.bluej.org/tutorial/tutorial-201.pdf" target="_blank"&gt;Tutorial BlueJ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;!-- BEGIN VCH3 PHOTO COMPONENT  --&gt;&lt;/p&gt;
&lt;table border="0" cellpadding="2" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td align="center"&gt;&lt;img src="http://java.sun.com/developer/technicalArticles/young_dev_learning_path/images/nb_bluej.png" alt="" width="100" border="0" height="88"&gt;&lt;strong&gt;NetBeans IDE BlueJ Edition&lt;/strong&gt; [&lt;a title="Download NetBeans BlueJ Edition" href="http://edu.netbeans.org/bluej/" target="_blank"&gt;Bajar&lt;/a&gt;]&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span class="sp10"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;!-- END VCH3 PHOTO COMPONENT --&gt;&lt;/p&gt;
&lt;p align="justify"&gt;BlueJ es un ambiente ideal para programadores novatos. Ofrece herramientas educativas, como las facuilidades de interacción y visualización que ayudan muchísimo el aprendizaje de conceptos de la programación orientada a objetos. Mientras que BlueJ cubre la fase introductoria en el aprendizaje a programar, NetBeans &lt;strong&gt;(que tambien es gratuito)&lt;/strong&gt; ofrece herramientas potentes de calidad profesional, y el salto inevitable del anterior a este ha sido una dificultad que han tenido que soportar los estudiantes - hasta ahora.&lt;/p&gt;
&lt;p align="justify"&gt;Esta herramiente ofrece un camino de migración para los estudiantes que quieren dar el salto entre una herramienta educativa, y un IDE profesional. El plug-in BlueJ agrega 2 características muy importantes al IDE NetBeans:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Permite al NetBeans abrir, trabajar con, y crear proyectos BlueJ en el formato nativo BlueJ( sin convertilo a un proyecto estandar de Netbeans), permitiendo así que uno pueda empezar a trabajar con Netbeans, y volver al BlueJ, cuando uno se sienta cómodo de hacerlo.&lt;/li&gt;
&lt;li&gt;Agrega una vista BlueJ a la ventana de proyectos de NetBeans, que le da un look familiar a los familizarizados con BlueJ dentro de Netbeans.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bajar &lt;a href="http://www.bluej.org/netbeans/tutorial/" target="_blank"&gt;Tutorial del plug - in BlueJ para Netbeans&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://java.sun.com/developer/technicalArticles/tools/bluej/index.html"&gt;Un tutorial extendido por&lt;/a&gt; by Dana Nourie.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.sun.com/SDNChannel/entry/jumpstart_your_programming_career" target="_blank"&gt;Un video&lt;/a&gt; de NetBeans/BlueJ desde el Sun Developer Network.&lt;/li&gt;
&lt;li&gt;Un conjunto de&amp;nbsp; &lt;a href="http://www.bluej.org/netbeans/labs/transition.html" target="_blank"&gt;Notas de laboratorio&lt;/a&gt; para ayudarlos en la transición entre BlueJ y Netbeans, y algunas ventajas que ofrece este último a los programadores.&lt;/li&gt;
&lt;li&gt;Si quieren ver que cuan lejos pueden llegar con Netbeans, miren el excelente tutorial de Brian Leonard &lt;a href="http://www.netbeans.org/kb/55/zuul-server.html" target="_blank"&gt;Zuul everywhere&lt;/a&gt; l.&lt;/li&gt;

&lt;/ul&gt;
&lt;div&gt;&lt;strong&gt;Tutoriales para aprender el lenguaje de programación Java&lt;/strong&gt;&lt;/div&gt;
&lt;div class="contentdivider"&gt;
&lt;table class="grey4" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="http://java.sun.com/im/a.gif" alt="" width="1" border="0" height="4"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p align="justify"&gt;Una vez que estén usando BlueJ o el NetBeans BlueJ Edition, ustedes querrán además aprender los detalles del lenguaje de programación Java. El mejor recurso para esto ess &lt;strong&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/index.html"&gt;El tutorial Java&lt;/a&gt;&lt;/strong&gt;. No dejen que estos tutoriales online los sobrepase. Absorban las cosas paso a paso. Recuerden que para las instituciones educativas inscriptas en la SAI, están los cursos de learningconnection disponibles.&lt;/p&gt;
&lt;p&gt;Esta información, proviene de la traducción del post de&amp;nbsp;&lt;em&gt; &lt;a href="http://java.sun.com/features/authors.html#nourie"&gt;Dana Nourie&lt;/a&gt; &lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;http://java.sun.com/developer/technicalArticles/young_dev_learning_path/ &lt;/em&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Y me tomé el trabajo de realizar una traducción casera para motivar en particular a todos los docentes de scundarios, y a todas las personas que esten cerca de ámbitos educativos de nivel medio, para proponerles comenzar a trabajar con alguna de estas herramientas &lt;em&gt;&lt;strong&gt;(LES MENCIONE QUE SON GRATUITAS)&lt;/strong&gt;&lt;/em&gt; , en particular GreenFoot, que a mi entender (no soy un experto de la pedagojía) es una excelente herramienta para introducir a los chicos en el ámbito de la programación.&lt;/p&gt;
&lt;p align="justify"&gt;Aquellas instituciones que esten interesadas en esto, desde ya les ofrecemos nuestra ayuda en la traducción de los tutoriales, en la instalación y configuración de los aplicativos y en todo lo que necesiten para llevar esto a cabo&lt;/p&gt;
&lt;p&gt;En el &lt;a href="http://java.sun.com/new2java/"&gt;New to Java Programming Center&lt;/a&gt;. encontrarán articulos y tutoriales posteados por estudiantes de Java qhe colaboran mutuamente generando materiales. El nivel de programación suele cubrir desde principiantes hasta intermedios. La &lt;a href="http://java.sun.com/new2java/learning/index.jsp"&gt;Learning Tab&lt;/a&gt; en el centro tiene una lista de artículos y tutoriales que seguro serán de gran ayuda para mucho de ustedes.&lt;/p&gt;
&lt;p&gt;Adicionalmente, se pueden suscribir a&amp;nbsp; &lt;a href="http://blogs.sun.com/JavaFundamentals/" target="_blank"&gt;Java Technology Fundamentals&lt;/a&gt; mediante RSS feeds. Estos artículos van apuntados desde principiantes hasta niveles intermedios también. Muchos de estos artículos fueron publicados en &lt;a href="http://java.sun.com/"&gt;java.sun.com&lt;/a&gt;, algunos son clases del Java Tutorial, y otros especialmente escritos para &lt;a href="http://blogs.sun.com/JavaFundamentals/" target="_blank"&gt;Java Technology Fundamentals&lt;/a&gt; y el &lt;a href="http://java.sun.com/new2java/"&gt;New to Java Programming Center&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Si tienen una cuenta en Facebook, haganse fan de la página &lt;a title="Getting Started with Java Programming" href="http://www.new.facebook.com/pages/Get-Started-with-Java-Programming/20602215818?ref=share" target="_blank"&gt;Getting Started with Java Programming&lt;/a&gt; y visitenla regularmente, ya que nuevos contenidos son agregados automáticamente mediante RSS feeds.&lt;/p&gt;
&lt;p&gt;Como siempre digo &lt;em&gt;(aparte de que todas herramientas son GRATIS)&lt;/em&gt; los invitamos a que dejen sus comentarios al respecto&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;a href="http://blogs.sun.com/Argentina_ambassador/" target="_blank"&gt;Ezequiel Singer&lt;/a&gt;&lt;br&gt;
Campus Ambassador&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Sun Microsystems, Inc.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-8492850913344994684?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/8492850913344994684/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=8492850913344994684' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8492850913344994684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8492850913344994684'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/08/aprender-java.html' title='Aprender Java'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-7366323555129150189</id><published>2008-07-29T08:43:00.002-03:00</published><updated>2008-07-29T10:01:06.361-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='comunidad'/><category scheme='http://www.blogger.com/atom/ns#' term='libre'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Linked In</title><content type='html'>&lt;p style="font-size: 9px"&gt;&lt;strong&gt; Una comunidad social y profesional, 99% Java, 100% open source&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; En la siguiente presentación pueden observar la arquitectura y otros detalles técnicos, de una de las comunidades sociales más populares del momento: &lt;a href="http://www.linkedin.com"&gt;Linked in&lt;/a&gt;.&lt;/p&gt; 
&lt;p&gt; Esta comunidad esta costruida en un 99% con tecnología Java, y utiliza todos sistemas Open source. Lo interesante, es que con estas tecnologías gratuitas y abiertas, la gente de linked in ha creado uno de los emprendimientos en comunidades sociales más exitosos de la web, que nuclea a profesionales de todo el mundo y les permite establecer conexiones con sus colegas. 
&lt;/p&gt; 
&lt;div style="text-align: center;"&gt;
&lt;object style="margin: 0px;" align="justify" width="425" height="355"&gt;
&lt;param value="http://static.slideshare.net/swf/ssplayer2.swf?doc=linkedinbofjavaone2008-1210975769299886-8" name="movie"&gt;
&lt;param value="true" name="allowFullScreen"&gt;
&lt;param value="always" name="allowScriptAccess"&gt;
&lt;embed allowfullscreen="true" allowscriptaccess="always"
type="application/x-shockwave-flash" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=linkedinbofjavaone2008-1210975769299886-8" width="425" height="355"&gt;&lt;/embed&gt;
&lt;/object&gt; 
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://blogs.sun.com/argentina_ambassador" target="_blank"&gt;Ezequiel Singer SUN Microsystems&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-7366323555129150189?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/7366323555129150189/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=7366323555129150189' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/7366323555129150189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/7366323555129150189'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/07/linked-in.html' title='Linked In'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-2215686588404168820</id><published>2008-07-28T13:37:00.002-03:00</published><updated>2008-07-28T14:48:26.914-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><title type='text'>SpringSource Enterprise Edition</title><content type='html'>&lt;p&gt;&lt;strong&gt;SpringSource&lt;/strong&gt; lanzó un nuevo producto llamado &lt;strong&gt;SpringSource Enterprise Edition&lt;/strong&gt; en forma de una subscripci&amp;oacute;n anual. A través de este producto se ofrece, además del software, los servicios y el soporte técnico necesario para desarrollar y ejecutar aplicaciones empresariales basadas en &lt;strong&gt;Spring&lt;/strong&gt; de manera más productiva, segura y con un mayor tiempo de vida.&lt;/p&gt;
&lt;p&gt;Una subscripción SpringSource incluye:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Spring Enterprise Edition&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Prueba de control de calidad para la estabilidad, la seguridad y el rendimiento&lt;/li&gt;
&lt;li&gt;Funciones de tipo empresarial (como  Spring WebServices, Spring Security, Spring Integration y Spring LDAP)&lt;/li&gt;
&lt;li&gt;Certified and indemnified (clausula de indemnizaci&amp;oacute;n  en caso de fallos)&lt;/li&gt;
&lt;li&gt;Mantenimiento regular: emisiones con las últimas correcciones de errores&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SpringSource Perfomance Suite&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;SpringSource Tool Suite: Suite de plugins para Eclipse para desarrollar con Spring&lt;/li&gt;
&lt;li&gt;SpringSource Application Management Suite: Suite de herramientas nativas para la gestión y monitoreo de una aplicación en tiempo real&lt;/li&gt;
&lt;li&gt;SpringSource  Advanced Pack for Oracle: integración con características avanzadas de Oracle sin tener que cambiar el c&amp;oacute;digo de la aplicaci&amp;oacute;n.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SpringSource Support&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Suporte directo de los desarrolladores que escribieron el c&amp;oacute;digo&lt;/li&gt;
&lt;li&gt;Correcciones de emergencia a bugs  cr&amp;iacute;ticos&lt;/li&gt;
&lt;li&gt;Patches committed in next release&lt;/li&gt;
&lt;li&gt;Customer support portal&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sitio oficial: &lt;a href="http://springsource.com" title="SpringSource Home"&gt;SpringSource&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-2215686588404168820?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/2215686588404168820/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=2215686588404168820' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/2215686588404168820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/2215686588404168820'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/07/springsource-enterprise-edition.html' title='SpringSource Enterprise Edition'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-429376666754782257</id><published>2008-07-22T15:33:00.009-03:00</published><updated>2008-07-22T16:35:43.065-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><title type='text'>/dev/null is full!</title><content type='html'>&lt;p&gt;
&lt;a href="javascript:showDiv('div17110614294654');hideDiv('div83235974874940');" title="Ver versión en español"&gt;Versión en español&lt;/a&gt;
|
&lt;a href="javascript:hideDiv('div17110614294654');showDiv('div83235974874940');" title="Go to english version"&gt;English version&lt;/a&gt;
&lt;/p&gt;
&lt;div id="div17110614294654" style="display:block"&gt;
&lt;p&gt;
Se ha detectado hoy un importantísimo bug en todos los sistemas operativos tipo Unix. Millones y millones de personas han estado redirigiendo la salida estándar y la de errores a &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; sin preocuparse de lo que pasaba con esos datos. Parece ser que los datos se quedaban simplemente ahí, en &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt;; y ahora se están sufriendo las consecuencias: &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; se ha llenado.
&lt;/p&gt;
&lt;p&gt;
Para los usuarios de Unix, &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; es un mecanismo imprescindible para destruir mensajes que no entienden o son pesados de leer: avisos de programas que usan, informes de 'bugs' acerca de programas que hacen, mensajes del jefe y otros mensajes menos interesantes aún, etc. Pero ahora, están obligados a leerlo todo. Esto redundará en una gran pérdida de tiempo de todos los usuarios de Unix.
&lt;/p&gt;
&lt;p&gt;
Ningún gurú de Unix había predicho que &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; se llenaría algún día. El Sr. Kernighan declinó hacer comentarios, diciendo, "Pregunten al Sr. Ritchie. Él tenía mayor idea sobre eso del &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt;.". El Sr. Ritchie, por su parte, dijo, "No, creo que era cosa del Sr. Thompson". A lo que el Sr. Thompson ha respondido: "Bien, ha estado ahí siempre, pero estoy seguro de que el fallo no es mío."
&lt;/p&gt;
&lt;p&gt;
Treinta minutos después de hacerse público el fallo, Microsoft liberó un parche de seguridad para el sistema operativo Windows NT. Sin embargo, fue eliminado de su sitio web cuando los ingenieros de Microsoft observaron que &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; no existía en Windows NT y por tanto no estaba afectado por el error. El parche de seguridad que habían lanzado era un fichero vacío.
&lt;/p&gt;
&lt;p&gt;
Los gurús de Unix avisan que deberán tener cuidado también con la entrada estándar (también conocida como stdin), ya que mucha gente ha estado leyendo cosas de ahí durante años y se cree que quedará vacía muy pronto.
&lt;/p&gt;
&lt;/div&gt;
&lt;div id="div83235974874940" style="display:none"&gt;
&lt;p&gt;
A major bug was detected today in all Unix-like operating systems. Millions and millions of people have been redirecting error messages and standard output to &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; for decades without bothering to think about what happened to that data. It appears that the data just stayed in &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt;, and we are now facing the consequences: &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; is full.
&lt;/p&gt;
&lt;p&gt;
For Unix users, &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; was a convenient way to destroy messages that they did not understand or were too lazy to to read: warnings from programs they used, bug reports concerning programs they wrote, messages from the boss and other uninteresting emails, etc. From now on, they will be forced to read everything. This will result in a massive loss of time for all Unix users.
&lt;/p&gt;
&lt;p&gt;
No Unix guru had ever predicted that &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; would be full one day. Mr. Kernighan declined comment, saying, "Ask Mr. Ritchie. He had the idea of that &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; thing." Mr. Ritchie said, "No, I think it was Mr. Thompson". Mr. Thompson responded: "Well, it's been a long time, but I'm sure it was not me."
&lt;/p&gt;
&lt;p&gt;
Thirty minutes after this bug was made public, Microsoft released a security patch for its Windows NT operating system. However, it was removed from the Web site when Microsoft engineers noticed that &lt;code&gt;&lt;b style="color:black"&gt;/dev/null&lt;/b&gt;&lt;/code&gt; did not exist on Windows NT and thus it was not affected by the bug. The security patch they had released was an empty file.
&lt;/p&gt;
&lt;p&gt;
Unix gurus warn that we should also be careful about the standard input (also known as stdin), because many people have been reading things from the standard input for years, and it may be empty very soon.
&lt;/p&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-429376666754782257?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/429376666754782257/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=429376666754782257' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/429376666754782257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/429376666754782257'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/07/devnull-is-full.html' title='/dev/null is full!'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-5901589059600206454</id><published>2008-07-17T13:23:00.003-03:00</published><updated>2008-07-22T12:17:12.233-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><title type='text'>Mozilla Firefox 3.0.1</title><content type='html'>&lt;p align="justify"&gt;Ya está disponible la versi&amp;oacute;n 3.0.1 del navegador &lt;a href="http://www.spreadfirefox.com/node&amp;id=240935&amp;t=324" target="_blank"&gt;Mozilla Firefox&lt;/a&gt;. En esta versión se han corregido las fallas de seguridad que se habían detectado en la primera versión final de Firefox 3 (versión 3.0.0)&lt;/p&gt;
&lt;div align="center"&gt;&lt;a href="http://www.spreadfirefox.com/node&amp;id=240935&amp;t=324" target="_blank"&gt;&lt;img border="0" alt="Firefox 3" title="Firefox 3" src="http://sfx-images.mozilla.org/affiliates/Buttons/firefox2/firefox-spread-btn-3.png"/&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align="center"&gt;&lt;a href="http://www.spreadfirefox.com/node&amp;id=240935&amp;t=324" target="_blank"&gt;Download Firefox 3.0.1&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="font-size: 9px"&gt;Nota: yo he tenido problemas de compatibilidad entre Mozilla Firefox 3.0.1 y el plug-in de Adobe Reader 8 y 9. Al intentar visualizar un fichero PDF, el navegador esporádicamente se cierra :-S&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-5901589059600206454?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/5901589059600206454/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=5901589059600206454' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/5901589059600206454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/5901589059600206454'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/07/mozilla-firefox-301.html' title='Mozilla Firefox 3.0.1'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-9202719602663999556</id><published>2008-07-16T18:13:00.000-03:00</published><updated>2008-07-21T14:52:12.246-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><title type='text'>Oracle Critical Patch Update</title><content type='html'>&lt;p align="justify"&gt;Oracle ha liberado hoy, 15 de julio de 2008, el &lt;b&gt;Critical Patch Update for July 2008&lt;/b&gt;. Es aconsejable obtener los parches tan pronto como sea posible.&lt;/p&gt;
&lt;p&gt;En &lt;a href="http://www.oracle.com/technology/deploy/security/alerts.htm?msgid=6668159" target="_blank"&gt;&lt;font color="#ff0000"&gt;&lt;u&gt;Critical Patch Update Advisory&lt;/u&gt;&lt;/font&gt;&lt;/a&gt; se encuentra la información oficial pertinente. Incluye una lista de productos afectados, consejos para obtener los parches, un resumen de las vulnerabilidades de seguridad, y enlaces a otros documentos importantes. Los productos que no figuran en la sección "Supported Products and Components Affected" no requieren de estos nuevos parches&lt;/p&gt;
&lt;p align="justify"&gt;Asimismo, es importante ver la documentaci&amp;oacute;n que acompaña al &lt;b&gt;Critical Patch Update&lt;/b&gt; antes de aplicar los parches, ya que allí se puede encontrar la información importante pertinente.&lt;/p&gt;
&lt;p align="justify"&gt;Las criticas Patch Update Consultiva est&amp;aacute; disponible en la siguiente ubicaci&amp;oacute;n:
&lt;ul&gt;&lt;li&gt;
&lt;a href="http://www.oracle.com/technology/deploy/security/alerts.htm?msgid=6668159" target="_blank"&gt;
&lt;font color="#ff0000" face="Arial, Helvetica, sans-serif"&gt;&lt;u&gt;Oracle Technology Network&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Los pr&amp;oacute;ximos cuatro &lt;b&gt;Critical Patch Updates&lt;/b&gt; son los siguientes:
&lt;ul&gt;
&lt;li&gt;14 de octubre de 2008&lt;/li&gt;
&lt;li&gt;13 de enero de 2009&lt;/li&gt;
&lt;li&gt;14 de abril de 2009&lt;/li&gt;
&lt;li&gt;14 de julio de 2009&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-9202719602663999556?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/9202719602663999556/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=9202719602663999556' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/9202719602663999556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/9202719602663999556'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/07/oracle-critical-patch-update.html' title='Oracle Critical Patch Update'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-6529902038195227562</id><published>2008-07-14T13:18:00.000-03:00</published><updated>2008-07-21T14:50:11.901-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sun'/><title type='text'>Sun Certification</title><content type='html'>&lt;p align="justify"&gt;Sun ofrece un sistema de evaluaci&amp;oacute;n de aptitud on-line:&lt;br /&gt;
&lt;font size="4" face="Arial, Helvetica, sans-serif" style="font-weight:bold"&gt;Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055) Free Proficiency Assessment System&lt;/font&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Este examen es una pre-evaluaci&amp;oacute;n que nos dá una idea de que tan bien podriamos realizar el examen para la certificaci&amp;oacute;n oficial &lt;b&gt;&amp;quot;Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (CX-310-055)&amp;quot;&lt;/b&gt;.&lt;/p&gt;
&lt;p align="center" style="font-size:9px"&gt;
&lt;a target="_blank" href="http://www.sun.com/training/certification/assessment/055-Jintro.jsp" title="Ir al TEST"&gt;
&lt;img src="http://www.sun.com/training/images/ilt_icon.gif"/&gt;
&lt;br /&gt;Ir al TEST&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-6529902038195227562?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/6529902038195227562/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=6529902038195227562' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/6529902038195227562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/6529902038195227562'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/07/sun-certification.html' title='Sun Certification'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-8960622091740409780</id><published>2008-07-07T15:22:00.000-03:00</published><updated>2008-09-09T14:52:38.352-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql'/><category scheme='http://www.blogger.com/atom/ns#' term='reportes'/><category scheme='http://www.blogger.com/atom/ns#' term='base de datos'/><title type='text'>Art Report Tool</title><content type='html'>&lt;p align="justify"&gt;ART es una herramienta de consulta y presentación de informes liviana, multiplataforma con una interfaz de usuario web. Las consultas SQL pueden ser publicadas en unos minutos.&lt;/p&gt;
&lt;p&gt;Los Reportes se pueden mostrar en las siguientes maneras:
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Listados&lt;/li&gt;
&lt;li&gt;Resumenes en Tablas&lt;/li&gt;
&lt;li&gt;Graficos&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Los Resultados son Exportables a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hojas de Calculo (XLS)&lt;/li&gt;
&lt;li&gt;PDF&lt;/li&gt;
&lt;li&gt;O puede ser embebido en un portal similar a la página web para crear una simple pero eficaz solución de Business Intelligence.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Algunas características sobresalientes son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Se pueden realizar reportes de usando como fuente de datos distintos motores de base de datos, algunos de los soportados son Oracle, DB2, Informix, dBase, Sybase, PostgreSQL, MySQL, SQL Server, etc.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Permite crear usuarios asignándoles roles específicos, por ejemplo, como Usuario, Administrador con bajos privilegios, Administrador con privilegios altos.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Agrupar las consultas para una mejor organización de los reportes.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Otorgar acceso, a los usuarios y según su rol, a determinados grupos de consultas o consultas específicas.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Definir reglas para los usuarios para filtrar dinámicamente los resultados de las consultas.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div align="justify"&gt;Posibilidad de Programar Tareas, es decir que se ejecute la creación de un reporte con una frecuencia periódica (a una hora y/o día y/o mes y/o año determinado), y los resultados mandarlos por correo electrónico en formato PDF, XLS o texto plano.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Links:&lt;br /&gt;
&lt;a href="http://art.sourceforge.net/"&gt;Proyecto ART en Sourceforge.net&lt;/a&gt;
&lt;br/&gt;
&lt;a href="http://jjdevs.unlugar.com/pdf/jjdevs-ART-AdminManual-1.7b.pdf" target="_blank"&gt;Documento de Referencia&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-8960622091740409780?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/8960622091740409780/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=8960622091740409780' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8960622091740409780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8960622091740409780'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/07/art-report-tool.html' title='Art Report Tool'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-8281765540039109202</id><published>2008-06-25T16:00:00.000-03:00</published><updated>2008-06-26T16:57:19.462-03:00</updated><title type='text'>Ganymede</title><content type='html'>&lt;p&gt;La nueva versión de Eclipse, llamada &lt;b&gt;Ganymede&lt;/b&gt;, se encuentra disponible para la descarga a partir de hoy (25/06/08) en el sitio oficial de &lt;a href="http://www.eclipse.org"&gt;&lt;b&gt;Eclipse&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table class="contentTable" cellspacing="6" width="100%"&gt;
&lt;tbody&gt;&lt;tr class="dialogHeader"&gt;
&lt;td colspan="2"&gt;
&lt;h2 class="title" style="display: inline;"&gt;Eclipse Ganymede Packages&lt;/h2&gt;&lt;/td&gt;
&lt;td align="center"&gt;Downloads&lt;/td&gt;
&lt;/tr&gt;     
&lt;tr class="tableData"&gt;&lt;td align="center" width="60"&gt;
&lt;a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip" target="_blank"&gt;
&lt;img src="http://www.eclipse.org/downloads/images/jee.jpg"&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;a class="packageTitle" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip" target="_blank"&gt;&lt;font size="3" style="font-weight:bold"&gt;Eclipse IDE for Java EE Developers (163 MB)&lt;/font&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td width="80" align="center" style="font-size:10px"&gt;
&lt;a target="_blank"  href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-win32.zip"&gt;Windows&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-macosx-carbon.tar.gz"&gt;Mac OS X&lt;/a&gt;&lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-linux-gtk.tar.gz"&gt;Linux 32bit&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-jee-ganymede-linux-gtk-x86_64.tar.gz"&gt;Linux 64bit&lt;/a&gt;
&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" width="60"&gt;
&lt;a href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/eclipse-SDK-3.4-win32.zip" target="_blank"&gt;
&lt;img src="http://www.eclipse.org/downloads/images/classic2.jpg"&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;a class="packageTitle" href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/eclipse-SDK-3.4-win32.zip" target="_blank"&gt;&lt;font size="3" style="font-weight:bold"&gt;Eclipse Classic 3.4 (151 MB)&lt;/font&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td width="80" align="center" style="font-size:10px"&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/eclipse-SDK-3.4-win32.zip"&gt;Windows&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/eclipse-SDK-3.4-macosx-carbon.tar.gz"&gt;Mac OS X&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/eclipse-SDK-3.4-linux-gtk.tar.gz"&gt;Linux 32bit&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.4-200806172000/eclipse-SDK-3.4-linux-gtk-x86_64.tar.gz"&gt;Linux 64bit&lt;/a&gt; &lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" width="60"&gt;
&lt;a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-java-ganymede-win32.zip" target="_blank"&gt;&lt;img src="http://www.eclipse.org/downloads/images/java.jpg"&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td valign="middle"&gt;
&lt;a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-java-ganymede-win32.zip" target="_blank" &gt;&lt;font size="3" style="font-weight:bold"&gt;Eclipse IDE for Java Developers (85 MB)&lt;/font&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td width="80" align="center" style="font-size:10px"&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-java-ganymede-win32.zip"&gt;Windows&lt;/a&gt; &lt;br&gt; 
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-java-ganymede-macosx-carbon.tar.gz"&gt;Mac OS X&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-java-ganymede-linux-gtk.tar.gz"&gt;Linux 32bit&lt;/a&gt; &lt;br&gt;

&lt;a target="_blank"  href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-java-ganymede-linux-gtk-x86_64.tar.gz"&gt;Linux 64bit&lt;/a&gt; &lt;br&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td align="center" width="60"&gt;
&lt;a href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-cpp-ganymede-win32.zip" target="_blank"
&gt;&lt;img src="http://www.eclipse.org/downloads/images/c.jpg"&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td valign="middle"&gt;
&lt;a class="packageTitle" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-cpp-ganymede-win32.zip" target="_blank"&gt;&lt;font size="3" style="font-weight:bold"&gt;Eclipse IDE for C/C++ Developers (68 MB)&lt;/font&gt;&lt;/a&gt;
&lt;/td&gt;
&lt;td width="80" align="center" style="font-size:10px"&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-cpp-ganymede-win32.zip"&gt;Windows&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-cpp-ganymede-macosx-carbon.tar.gz"&gt;Mac OS X&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-cpp-ganymede-linux-gtk.tar.gz"&gt;Linux 32bit&lt;/a&gt; &lt;br&gt;
&lt;a target="_blank" href="http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/ganymede/R/eclipse-cpp-ganymede-linux-gtk-x86_64.tar.gz"&gt;Linux 64bit&lt;/a&gt; &lt;br&gt; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-8281765540039109202?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/8281765540039109202/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=8281765540039109202' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8281765540039109202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8281765540039109202'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/06/ganymede.html' title='Ganymede'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-2218916495632186307</id><published>2008-06-18T17:00:00.000-03:00</published><updated>2008-07-04T09:53:01.027-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='noticias'/><title type='text'>Mozilla Firefox 3</title><content type='html'>&lt;p&gt;El 17 de Junio a las 17:00hs fue lanzada oficialmente la versi&amp;oacute;n 3 del navegador &lt;a href="http://www.spreadfirefox.com/node&amp;id=240935&amp;t=324" target="_blank"&gt;Mozilla Firefox&lt;/a&gt;&lt;/p&gt;

&lt;table width="100%"&gt;
&lt;tr&gt;&lt;td width="50%" align="center"&gt;
&lt;p&gt;&lt;a href="http://www.spreadfirefox.com/node&amp;id=240935&amp;t=324" target="_blank"&gt;&lt;img border="0" alt="Firefox 3" title="Firefox 3" src="http://sfx-images.mozilla.org/affiliates/Buttons/firefox2/firefox-spread-btn-3.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;Download Firefox 3 Final&lt;/p&gt;
&lt;li&gt;&lt;a href="http://download.mozilla.org/?product=firefox-3.0&amp;amp;os=linux&amp;amp;lang=es-AR" target="_blank"&gt;Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://download.mozilla.org/?product=firefox-3.0&amp;os=osx&amp;lang=es-AR" target="_blank"&gt;Mac OS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.spreadfirefox.com/node&amp;id=240935&amp;t=324" class="download-linux"&gt;Windows&lt;/a&gt;&lt;/li&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-2218916495632186307?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/2218916495632186307/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=2218916495632186307' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/2218916495632186307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/2218916495632186307'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/06/mozilla-firefox-3.html' title='Mozilla Firefox 3'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-8684943316371855461</id><published>2008-05-13T09:56:00.000-03:00</published><updated>2008-09-10T14:25:00.809-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><title type='text'>Java Joke</title><content type='html'>&lt;p&gt;Two &lt;b&gt;int&lt;/b&gt;s and a &lt;b&gt;Float&lt;/b&gt; are in a bar. They spot an attractive &lt;b&gt;Double&lt;/b&gt; on her own. The first int walks up to her. "Hey, baby", he says, "my VM or yours". She slaps him and he walks back dejected.&lt;/p&gt;
&lt;p&gt;The second int walks over. "Hey, cute-stuff, can I cook your Beans for breakfast". After a quick slapping, he too walks back.&lt;/p&gt;
&lt;p&gt;The &lt;b&gt;Float&lt;/b&gt; then ambles over casually. "Were those two primitive types bothering you?", he remarks.&lt;/p&gt;
&lt;p&gt;"Yes. I’m so glad you’re here", she says. "They just had no &lt;b&gt;Class&lt;/b&gt;!"&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-8684943316371855461?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/8684943316371855461/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=8684943316371855461' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8684943316371855461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/8684943316371855461'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/05/java-joke.html' title='Java Joke'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5656790333075086630.post-3840983725463488266</id><published>2008-05-08T11:27:00.001-03:00</published><updated>2008-12-02T19:45:23.611-02:00</updated><title type='text'>Hola Jujuy!!!</title><content type='html'>&lt;p&gt;Aquí comenzamos con el JUG (java user group) de Jujuy!!!&lt;/p&gt;
&lt;p&gt;Este sitio fué creado y será mantenido por el equipo de Jujuy JUG&lt;/p&gt;
&lt;p&gt;Para sumarte, envía un e-mail a &lt;b&gt;info@jujuyjug.com.ar&lt;/b&gt; con tu info&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;JJDevs Team&lt;br /&gt;
&lt;a href="http://jujuyjug.com.ar"&gt;www.jujuyjug.com.ar&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5656790333075086630-3840983725463488266?l=jujuyjug.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jujuyjug.blogspot.com/feeds/3840983725463488266/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5656790333075086630&amp;postID=3840983725463488266' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3840983725463488266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5656790333075086630/posts/default/3840983725463488266'/><link rel='alternate' type='text/html' href='http://jujuyjug.blogspot.com/2008/05/hola-jujuy.html' title='Hola Jujuy!!!'/><author><name>Ezequiel</name><uri>http://www.blogger.com/profile/08474734863428165764</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://1.bp.blogspot.com/_of4yQr1q_Lo/SPim1rwE81I/AAAAAAAAADM/JVoqxaLRQ7I/S220/tux-logo.png'/></author><thr:total>0</thr:total></entry></feed>
