<?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-4821629602737201938</id><updated>2012-01-18T14:18:00.354-08:00</updated><category term='connector'/><category term='bd nativa'/><category term='js ext'/><category term='no matarla al cerrar la terminal'/><category term='gwt ext combobox'/><category term='MessageDigest java'/><category term='Gradiente'/><category term='mi vida'/><category term='Calendar'/><category term='remoto'/><category term='Date'/><category term='PL/SQL'/><category term='cronologia de un corto'/><category term='prototipos'/><category term='Oracle Forms'/><category term='grid'/><category term='firefox'/><category term='pdfbox'/><category term='widgets de swing'/><category term='GWTEXT'/><category term='itext'/><category term='python'/><category term='plugin'/><category term='opaco'/><category term='copiar'/><category term='spring'/><category term='gson(API)'/><category term='Harvester'/><category term='List'/><category term='OAI'/><category term='c3po'/><category term='pincel'/><category term='generación de pdf'/><category term='Cine'/><category term='RCP GWT'/><category term='JPanel transparente'/><category term='hibernate'/><category term='GWT NETBEANS JAVA'/><category term='mew confortantes sonidos'/><category term='apliacación web'/><category term='PL SQL'/><category term='traducción propia'/><category term='java'/><category term='RECORD'/><category term='exist'/><category term='Cortometraje'/><category term='CharacterEncoding'/><category term='JPanel redondeado'/><category term='Collections.sort'/><category term='jsp'/><category term='JPanel'/><category term='swingx'/><category term='TOMCAT'/><category term='gwt ext json'/><category term='pdf'/><category term='wxPython'/><category term='netbeans'/><category term='Cosechador'/><category term='dwr'/><category term='jquery'/><category term='ui'/><category term='EL día perfecto'/><category term='JLayeredPane'/><category term='Properties'/><category term='mgmt kids México'/><category term='eventos'/><category term='sessionfactory'/><category term='gwt ext'/><category term='prepa'/><category term='md5'/><category term='Música para despertar dragones'/><category term='sueños'/><category term='REGEXP_SUBSTR'/><category term='json'/><category term='PIPELINED oracle'/><title type='text'>Am I wry ? No</title><subtitle type='html'>Programación en java, cursiladas, servidores,  y todo lo que se me ocurra, el conocimiento no es de quien lo crea sino de toda la humanidad, se libre, se como eres ,nunca vendas una idea regala esta al mundo?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>49</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-4133638040783726033</id><published>2011-11-11T09:33:00.000-08:00</published><updated>2011-11-15T09:48:25.622-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Forms'/><category scheme='http://www.blogger.com/atom/ns#' term='copiar'/><title type='text'>Copiar elementos de una Lista a Otra, subir y bajar  en oracle forms (PL/SQL)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Para poder hacer este ejemplo es necesario saber PL/SQL y un poco de Oracle Forms, este ejemplo espero y le pueda servir a alguien, bueno a mi me sirvio para la parte del proyecto en el que trabaje.&lt;br /&gt;&lt;br /&gt;Paso 1.&lt;br /&gt;&lt;br /&gt;Tenemos que construir un bloque de datos de manera manual lo llamaremos LISTA:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-JdYooWEsRCQ/Tr2dj_dUzBI/AAAAAAAAARU/1_yFoa0i5NU/s1600/Dibujo10.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673864347212106770" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 248px; CURSOR: hand; HEIGHT: 269px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/-JdYooWEsRCQ/Tr2dj_dUzBI/AAAAAAAAARU/1_yFoa0i5NU/s320/Dibujo10.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-EJReZhHzZAQ/Tr1fQHgpwhI/AAAAAAAAAQM/Ny725Hep1Kk/s1600/Dibujo10.JPG"&gt;&lt;/a&gt;Mostrara un asistente como el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-ksim_0xGfug/Tr1glb--GfI/AAAAAAAAAQY/Q2g_5JDxXKY/s1600/Dibujo1.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673797301839993330" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 410px; CURSOR: hand; HEIGHT: 286px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/-ksim_0xGfug/Tr1glb--GfI/AAAAAAAAAQY/Q2g_5JDxXKY/s320/Dibujo1.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Paso 2. Creado el bloque de datos LISTA, ir al apartado de Lienzos, abrir el CANVAS2 o como se llame en su proyecto, mostrara una ventana con el canvas, en la opción Canvas: seleccionar CANVAS2 y en Block: LISTA .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-4VOhi7nDh4I/Tr1iiE6XKhI/AAAAAAAAAQk/VpLKariwMHQ/s1600/Dibujo11.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673799443130296850" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 98px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/-4VOhi7nDh4I/Tr1iiE6XKhI/AAAAAAAAAQk/VpLKariwMHQ/s320/Dibujo11.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Paso 3: Arrastar todos los elementos: La lista es el Elemento de Lista de la barra de herramientas vertical.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-Gmz16nvcE4w/Tr1oM6rSkMI/AAAAAAAAAQw/h8JC6KUDJ4Q/s1600/Dibujo3.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673805676675240130" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/-Gmz16nvcE4w/Tr1oM6rSkMI/AAAAAAAAAQw/h8JC6KUDJ4Q/s320/Dibujo3.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ir a la las propiedades del Elemento y en el apartado &lt;strong&gt;Funcional &lt;/strong&gt;en la opción Estilo de Lista seleccionar Lista de Texto, esto se tendra que hacer para cada lista.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-7zP3pD3lr30/Tr2ezlyCYPI/AAAAAAAAARg/gq45xvrGUJo/s1600/Dibujo4.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673865714709192946" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 199px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/-7zP3pD3lr30/Tr2ezlyCYPI/AAAAAAAAARg/gq45xvrGUJo/s320/Dibujo4.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;El diseño debe quedar parecido al de la imagen de arriba.&lt;br /&gt;&lt;br /&gt;Paso 4. Debemos cargar Datos e nuestra Lista, se puede hacer desde la base Datos, pero por ahora no pondre esa parte, los pondremos en codigo duro.&lt;br /&gt;&lt;br /&gt;Ir a las propiedades de la Lista principal, en el apartado &lt;strong&gt;Funcional&lt;/strong&gt; seleccionar la opción &lt;strong&gt;Elementos de Lista&lt;/strong&gt; , preisionar el boton More..., mostrara una ventana de List Elements, en esta podemos dar de alta los elementos y sus valores.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-UjZmljeWEQQ/Tr1u_VdkMqI/AAAAAAAAARI/RR7mdclCRYk/s1600/Dibujo5.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673813139928658594" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 205px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/-UjZmljeWEQQ/Tr1u_VdkMqI/AAAAAAAAARI/RR7mdclCRYk/s320/Dibujo5.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Paso 5. Para agregar el Trigger( Disparador, para los programan en Java un Evento) o nuestro boton debemos contar con los siguientes elementos:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nuestro formulario debe tener los siguientes elementos:&lt;br /&gt;&lt;strong&gt;LIST_ELEMENT&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;LIST_ELEMENT_END&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;BTN_ADD_ELEMET&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;BTN_ADD_ALL_ELEMET&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;BTN_DEL_ELEMENT&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;BTN_DEL_ALL_ELEMENT&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;BTN_UP_ELEMENT&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;BTN_DOWN_ELEMENT &lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://1.bp.blogspot.com/-TeJUG01mXi8/Tr2g7zdWj1I/AAAAAAAAARs/9pPK_gDCtsc/s1600/Dibujo13.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673868054842740562" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 132px" alt="" src="http://1.bp.blogspot.com/-TeJUG01mXi8/Tr2g7zdWj1I/AAAAAAAAARs/9pPK_gDCtsc/s320/Dibujo13.bmp" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="left"&gt;&lt;br /&gt;Como se muestra en la siguiente imagen:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-F0gVdoxrDw4/Tr2i_QqCisI/AAAAAAAAAR4/uq0N9I2G2ds/s1600/Dibujo14.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673870313243445954" style="WIDTH: 220px; CURSOR: hand; HEIGHT: 306px" alt="" src="http://3.bp.blogspot.com/-F0gVdoxrDw4/Tr2i_QqCisI/AAAAAAAAAR4/uq0N9I2G2ds/s320/Dibujo14.bmp" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Ahora tenemos que agregar el disparador WHEN-BUTTON-PRESSED al boton BTN_ADD_ELEMET:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://3.bp.blogspot.com/-2pg54Jpm6vE/Tr2ml5f8fCI/AAAAAAAAASE/u-b2U1JlhCk/s1600/Dibujo6.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673874275576871970" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 240px" alt="" src="http://3.bp.blogspot.com/-2pg54Jpm6vE/Tr2ml5f8fCI/AAAAAAAAASE/u-b2U1JlhCk/s320/Dibujo6.bmp" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;En el editor de codigo poner el siguiente codigo:&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;DECLARE&lt;br /&gt;l_count INTEGER;&lt;br /&gt;l_text VARCHAR2(100);&lt;br /&gt;l_value VARCHAR2(100);&lt;br /&gt;n_index_borrar INTEGER:=-1;&lt;br /&gt;BEGIN&lt;br /&gt;--Cuenta el numero de elementos de la lista&lt;br /&gt;l_count := GET_LIST_ELEMENT_COUNT('LIST_ELEMENT');&lt;br /&gt;--Itera por cada elemento de lista&lt;br /&gt;FOR i in 1..l_count LOOP&lt;br /&gt;--Valida si el elemento de la lista es el seleccionado&lt;br /&gt;IF GET_LIST_ELEMENT_VALUE('LIST_ELEMENT',i) = :LIST_ELEMENT THEN&lt;br /&gt;l_text := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT',i);&lt;br /&gt;l_value:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT',i);&lt;br /&gt;Add_List_Element('LIST_ELEMENT_END',1,l_text,l_value);&lt;br /&gt;n_index_borrar:=i;&lt;br /&gt;END IF;&lt;br /&gt;END LOOP;&lt;br /&gt;--elimina el elemento de la lista&lt;br /&gt;IF n_index_borrar &amp;lt;&amp;gt; -1 THEN&lt;br /&gt;DELETE_LIST_ELEMENT ('LIST_ELEMENT',n_index_borrar);&lt;br /&gt;END IF;&lt;br /&gt;END;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;BTN_ADD_ALL_ELEMET agregamos el disparador WHEN-BUTTON-PRESSED y en editor el siguiente codigo&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;l_count INTEGER;&lt;br /&gt;l_text VARCHAR2(100);&lt;br /&gt;l_value VARCHAR2(100);&lt;br /&gt;n_index_borrar INTEGER:=-1;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;l_count := GET_LIST_ELEMENT_COUNT('LIST_ELEMENT');&lt;br /&gt;FOR i in 1..l_count LOOP&lt;br /&gt;&lt;br /&gt;l_text := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT',i);&lt;br /&gt;l_value:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT',i);&lt;br /&gt;&lt;br /&gt;IF TRIM(l_text) is not null THEN&lt;br /&gt;Add_List_Element('LIST_ELEMENT_END',i,l_text,l_value);&lt;br /&gt;n_index_borrar:=i;&lt;br /&gt;END IF;&lt;br /&gt;&lt;br /&gt;END LOOP;&lt;br /&gt;&lt;br /&gt;IF n_index_borrar &amp;lt;&amp;gt; -1 THEN&lt;br /&gt;CLEAR_LIST('LIST_ELEMENT');&lt;br /&gt;END IF;&lt;br /&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BTN_ADD_ALL_ELEMET agregamos el disparador WHEN-BUTTON-PRESSED y en editor el siguiente codigo&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;l_count INTEGER;&lt;br /&gt;l_text VARCHAR2(100);&lt;br /&gt;l_value VARCHAR2(100);&lt;br /&gt;n_index_borrar INTEGER:=-1;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;l_count := GET_LIST_ELEMENT_COUNT('LIST_ELEMENT_END');&lt;br /&gt;FOR i in 1..l_count LOOP&lt;br /&gt;&lt;br /&gt;l_text := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT_END',i);&lt;br /&gt;l_value:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT_END',i);&lt;br /&gt;&lt;br /&gt;IF TRIM(l_text) is not null THEN&lt;br /&gt;Add_List_Element('LIST_ELEMENT',i,l_text,l_value);&lt;br /&gt;n_index_borrar:=i;&lt;br /&gt;END IF;&lt;br /&gt;&lt;br /&gt;END LOOP;&lt;br /&gt;&lt;br /&gt;IF n_index_borrar &amp;lt;&amp;gt; -1 THEN&lt;br /&gt;CLEAR_LIST('LIST_ELEMENT_END');&lt;br /&gt;END IF;&lt;br /&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;BTN_ADD_ELEMET agregamos el disparador WHEN-BUTTON-PRESSED y en editor el siguiente codigo&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;l_count INTEGER;&lt;br /&gt;l_text VARCHAR2(100);&lt;br /&gt;l_value VARCHAR2(100);&lt;br /&gt;n_index_borrar INTEGER:=-1;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;l_count := GET_LIST_ELEMENT_COUNT('LIST_ELEMENT_END');&lt;br /&gt;FOR i in 1..l_count LOOP&lt;br /&gt;IF GET_LIST_ELEMENT_VALUE('LIST_ELEMENT_END',i) = :LIST_ELEMENT_END THEN&lt;br /&gt;l_text := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT_END',i);&lt;br /&gt;l_value:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT_END',i);&lt;br /&gt;Add_List_Element('LIST_ELEMENT',1,l_text,l_value);&lt;br /&gt;n_index_borrar:=i;&lt;br /&gt;END IF;&lt;br /&gt;END LOOP;&lt;br /&gt;&lt;br /&gt;IF n_index_borrar &amp;lt;&amp;gt; -1 THEN&lt;br /&gt;DELETE_LIST_ELEMENT ('LIST_ELEMENT_END',n_index_borrar);&lt;br /&gt;END IF;&lt;br /&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Para subir un elemento de la lista LIST_ELEMENT_END se configura el siguiente disparador WHEN-BUTTON-PRESSED en el boton BTN_UP_ELEMENT con este código&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;l_count INTEGER;&lt;br /&gt;l_text VARCHAR2(100);&lt;br /&gt;l_value VARCHAR2(100);&lt;br /&gt;l_text2 VARCHAR2(100);&lt;br /&gt;l_value2 VARCHAR2(100);&lt;br /&gt;bandera INTEGER:=0;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;l_count := GET_LIST_ELEMENT_COUNT('LIST_ELEMENT_END');&lt;br /&gt;FOR i in 1..l_count LOOP&lt;br /&gt;IF GET_LIST_ELEMENT_VALUE('LIST_ELEMENT_END',i) = :LIST_ELEMENT_END AND bandera=0 AND i &amp;lt;&amp;gt; 1 THEN&lt;br /&gt;l_text := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT_END',i);&lt;br /&gt;l_value:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT_END',i);&lt;br /&gt;l_text2 := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT_END',i-1);&lt;br /&gt;l_value2:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT_END',i-1);&lt;br /&gt;Add_List_Element('LIST_ELEMENT_END',i-1,l_text,l_value);&lt;br /&gt;Add_List_Element('LIST_ELEMENT_END',i,l_text2,l_value2);&lt;br /&gt;DELETE_LIST_ELEMENT ('LIST_ELEMENT_END',i);&lt;br /&gt;DELETE_LIST_ELEMENT ('LIST_ELEMENT_END',i+1);&lt;br /&gt;bandera:=1;&lt;br /&gt;END IF;&lt;br /&gt;END LOOP;&lt;br /&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;Para bajar un elemento de la lista LIST_ELEMENT_END se configura el siguiente disparador WHEN-BUTTON-PRESSED en&lt;br /&gt;el boton BTN_DOWN_ELE con este código&lt;br /&gt;&lt;br /&gt;DECLARE&lt;br /&gt;l_count INTEGER;&lt;br /&gt;l_text VARCHAR2(100);&lt;br /&gt;l_value VARCHAR2(100);&lt;br /&gt;l_text2 VARCHAR2(100);&lt;br /&gt;l_value2 VARCHAR2(100);&lt;br /&gt;bandera INTEGER:=0;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;l_count := GET_LIST_ELEMENT_COUNT('LIST_ELEMENT_END');&lt;br /&gt;FOR i in 1..l_count LOOP&lt;br /&gt;IF GET_LIST_ELEMENT_VALUE('LIST_ELEMENT_END',i) = :LIST_ELEMENT_END AND bandera=0 AND (l_count) &amp;lt;&amp;gt; i THEN&lt;br /&gt;l_text := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT_END',i);&lt;br /&gt;l_value:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT_END',i);&lt;br /&gt;l_text2 := GET_LIST_ELEMENT_LABEL('LIST_ELEMENT_END',i+1);&lt;br /&gt;l_value2:= GET_LIST_ELEMENT_VALUE ('LIST_ELEMENT_END',i+1);&lt;br /&gt;Add_List_Element('LIST_ELEMENT_END',i+1,l_text,l_value);&lt;br /&gt;Add_List_Element('LIST_ELEMENT_END',i,l_text2,l_value2);&lt;br /&gt;DELETE_LIST_ELEMENT ('LIST_ELEMENT_END',i+1);&lt;br /&gt;DELETE_LIST_ELEMENT ('LIST_ELEMENT_END',i+2);&lt;br /&gt;bandera:=1;&lt;br /&gt;END IF;&lt;br /&gt;END LOOP;&lt;br /&gt;&lt;br /&gt;END;&lt;br /&gt;&lt;br /&gt;Para que la lista fin este limpia (LIST_ELEMENT_END), cuando crea un nueva instancia se configura un disparador WHEN-NEW-FORM-INSTANCE con el siguiente código&lt;br /&gt;&lt;br /&gt;CLEAR_LIST ('LIST_ELEMENT_END');&lt;br /&gt;&lt;br /&gt;Cuando se recuperan datos desde la base de datos de tiene hacer una función para llenar la lista principal y la lista fin,en otra entrada mostrare como hacerlo.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;Si ejecutamos hasta aqui nuestro pequeño proyecto ya podremos copiar un elemento de una lista a la otra:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-Q5lExqa9Zts/Tr2oRfLumcI/AAAAAAAAASQ/YWBpgfkd1_k/s1600/Dibujo15.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5673876123938625986" style="WIDTH: 320px; CURSOR: hand; HEIGHT: 190px" alt="" src="http://3.bp.blogspot.com/-Q5lExqa9Zts/Tr2oRfLumcI/AAAAAAAAASQ/YWBpgfkd1_k/s320/Dibujo15.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;continuara...&lt;br /&gt;&lt;br /&gt;Se feliz, libre, sueño por un mundo mejor.......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-4133638040783726033?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/4133638040783726033/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=4133638040783726033' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4133638040783726033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4133638040783726033'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/11/copiar-elementos-de-una-lista-otra.html' title='Copiar elementos de una Lista a Otra, subir y bajar  en oracle forms (PL/SQL)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-JdYooWEsRCQ/Tr2dj_dUzBI/AAAAAAAAARU/1_yFoa0i5NU/s72-c/Dibujo10.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-4559566782335725166</id><published>2011-09-27T09:12:00.000-07:00</published><updated>2011-09-27T09:16:32.811-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL SQL'/><title type='text'>Obtener dia primerio y ultimo del mes actual (oracle)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Pongo una pequeña consulta espero les sirva, es para obtener el dia primero y ultimo del mes anterior al actual en oracle.&lt;br /&gt;&lt;br /&gt;    select to_date(trunc(trunc(sysdate, 'MM')-1,'MM'),'dd/mm/rrrr') dia_primero_mes_ant&lt;br /&gt;           ,to_date(last_day(trunc(sysdate, 'MM')-1),'dd/mm/rrrr') dia_fin_mes_ant&lt;br /&gt;     from dual&lt;br /&gt;&lt;br /&gt;Saludos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-4559566782335725166?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/4559566782335725166/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=4559566782335725166' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4559566782335725166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4559566782335725166'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/09/obtener-dia-primerio-y-ultimo-del-mes.html' title='Obtener dia primerio y ultimo del mes actual (oracle)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6973048258177978378</id><published>2011-09-05T15:15:00.000-07:00</published><updated>2011-09-05T15:23:21.682-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PL SQL'/><title type='text'>Extraer tokens con REGEXP_SUBSTR (Oracle)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Muchos lenguejes de programación tienen funciones, clases, etc para extraer los tokens de una cadena ya sea por medio de una expresion regular o por un delimitador, hace ya varios meses me tope con este problemita pero con PL SQL, y un compañero del trabajo se le ocurrio este idea que comparto:&lt;br /&gt;&lt;br /&gt;Para nuestro ejemplo sera por el delimitador "-", pero usando una expresion regular por medio de REGEXP_SUBSTR&lt;br /&gt;&lt;br /&gt;set serveroutput on;&lt;br /&gt;declare&lt;br /&gt;V_DESC VARCHAR2(200):='1234-Isaac Le-Mew';&lt;br /&gt;N_TOKENS PLS_INTEGER:=0;&lt;br /&gt;V_VAL_RETORNO VARCHAR2(50);&lt;br /&gt;begin&lt;br /&gt;-- Se obtiene el numero de tokens de la cadena&lt;br /&gt;N_TOKENS        :=LENGTH(V_DESC) - LENGTH(REPLACE(V_DESC, '-', '')) + 1;&lt;br /&gt;-- Se itera sobre cada uno de los tokens de la cadena&lt;br /&gt;    FOR I                             IN 1 .. N_TOKENS&lt;br /&gt;    LOOP&lt;br /&gt;-- Se extrae cada ocurrencia del token empezando siempre desde la posicion 1&lt;br /&gt;      V_VAL_RETORNO     := REGEXP_SUBSTR(V_DESC,'[^-]+',1,I);&lt;br /&gt;        dbms_output.put_line(I||' - '||V_VAL_RETORNO);&lt;br /&gt;    END LOOP;&lt;br /&gt;end;    &lt;br /&gt;/&lt;br /&gt;&lt;br /&gt;el resultado sera algo como lo sisuiente:&lt;br /&gt;&lt;br /&gt;anonymous block completed&lt;br /&gt;1 - 1234&lt;br /&gt;2 - Isaac Le&lt;br /&gt;3 - Mew&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Saludos, el mundo siempre puede ser mejor....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-6973048258177978378?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6973048258177978378/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6973048258177978378' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6973048258177978378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6973048258177978378'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/09/extraer-tokens-con-regexpsubstr-oracle.html' title='Extraer tokens con REGEXP_SUBSTR (Oracle)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-443603656223634019</id><published>2011-09-02T08:48:00.000-07:00</published><updated>2011-09-02T09:28:32.731-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle Forms'/><title type='text'>Como extraer  los datos de LOV (Lista de valores) por medio de Grupo de Registros (Oracle Forms)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Cuando desarrollamos aplicaciones en Oracle Forms siempre nos topamos con hacer cosas que ya estan hechas y no es tan dificil como aparenta.&lt;br /&gt;&lt;br /&gt;Un dia muy feliz en mi trabajo me pidieron la opción que dentro de una LOV list, le pusiera la opción de todos, y lo que no queria hacer un bloque de datos con un check box con las opción de todos, puesto que me tardaria muchos dias porque eran muchas listas de valores, asi que encontre como sulucionar esto, quizas alguien encontro una maneras mas simple, pero me gustaria compartir como lo hize.&lt;br /&gt;&lt;br /&gt;La funcion PL SQL que ocupe es la siguiente:&lt;br /&gt;&lt;br /&gt;FUNCTION L_OBT_ELEMENTS_RGP_SP(v_IdItem VARCHAR2,v_campo VARCHAR2) RETURN VARCHAR2 IS&lt;br /&gt;	v_LovName VARCHAR2(150);&lt;br /&gt;	v_GroupName VARCHAR2(150);&lt;br /&gt;	the_rowcount PLS_INTEGER; &lt;br /&gt;	rg_Id RecordGroup;&lt;br /&gt;	status PLS_INTEGER;&lt;br /&gt;	rec_Count PLS_INTEGER;&lt;br /&gt;	v_valIn VARCHAR2(500);&lt;br /&gt;	v_valor VARCHAR2(100);&lt;br /&gt;	col1 GroupColumn; &lt;br /&gt;  v_lon PLS_INTEGER;&lt;br /&gt;	&lt;br /&gt;BEGIN&lt;br /&gt;  NULL;&lt;br /&gt;  &lt;br /&gt;  v_LovName := Get_Item_Property(v_IdItem, LOV_NAME );&lt;br /&gt;	v_GroupName := Get_LOV_Property(v_LovName,GROUP_NAME);&lt;br /&gt;	rg_Id:= Find_Group(v_GroupName);&lt;br /&gt;	status:=Populate_Group(rg_Id);&lt;br /&gt;	rec_Count := Get_Group_Row_Count( rg_id );&lt;br /&gt;	col1 := Find_Column(v_GroupName||'.'||v_campo);  &lt;br /&gt;  &lt;br /&gt;  FOR j IN 1..rec_Count LOOP &lt;br /&gt;  			v_valor:= GET_GROUP_CHAR_CELL(col1, j );&lt;br /&gt;  					v_valIn:=v_valIn||v_valor||',';&lt;br /&gt;  END LOOP; &lt;br /&gt;  &lt;br /&gt;  v_lon:=LENGTH(v_valIn);&lt;br /&gt;  v_valIn:=SUBSTR(v_valIn,1,v_lon-1) ;&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  return v_valIn;&lt;br /&gt;END;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-443603656223634019?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/443603656223634019/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=443603656223634019' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/443603656223634019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/443603656223634019'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/09/como-extraer-los-datos-de-lov-lista-de.html' title='Como extraer  los datos de LOV (Lista de valores) por medio de Grupo de Registros (Oracle Forms)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2110345680045420755</id><published>2011-08-23T11:29:00.000-07:00</published><updated>2011-11-04T08:09:27.631-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='REGEXP_SUBSTR'/><title type='text'>REGEXP_SUBSTR en oracle</title><content type='html'>Hola: (Hay problemas con las pipes)&lt;br /&gt;&lt;br /&gt;Tengo tiempo trabajando con esta funcion de oracle REGEXP_SUBSTR y me gustaria compartir el uso que se le puede dar.&lt;br /&gt;&lt;br /&gt;Supongamos que tenemos una cadena, el ejemplo mas claro es para los impuestos del SAT le llaman cadena original y se guarda con delimitadores su estandar es el pipe pero usaremos ";" para este ejemplo:&lt;br /&gt;&lt;br /&gt;Cadena Original:&lt;br /&gt;&lt;br /&gt;;; A;1;2005-09-02T16:30:00;1;ISP900909Q88;Industrias del Sur Poniente, S.A. de C.V.;Alvaro Obregón;37;3;Col. Roma Norte;México;Cuauhtémoc;Distrito Federal;México;06700;Pino Suarez;23;Centro;Monterrey;Monterrey;Nuevo Léon;México;95460;CAUR390312S87;Rosa María Calderón Uriegas;Topochico;52;Jardines del Valle;Monterrey;Monterrey;Nuevo León;México;95465;10;Caja;Vasos decorados;20;200;1;pieza;Charola metálica;150;150;IVA;52.5 ;;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Supongamos que este dato lo guardamos en un campo de la base de datos y queremos extraer la razon social&lt;br /&gt;Usamos la siguiente expresión dentro de la consulta: &lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;REGEXP_SUBSTR(campo de tipo varchar2 o tipos parecidos,expresion regular, posicion del campo en que va iniciar,numero de ocurrencia)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;SELECT REGEXP_SUBSTR(';; A;1;2005-09-02T16:30:00;1;ISP900909Q88;Industrias del Sur Poniente, S.A. de C.V.;Alvaro Obregón;37;3;Col. Roma Norte;México;Cuauhtémoc;Distrito Federal;México;06700;Pino Suarez;23;Centro;Monterrey;Monterrey;Nuevo Léon;México;95460;CAUR390312S87;Rosa María Calderón Uriegas;Topochico;52;Jardines del Valle;Monterrey;Monterrey;Nuevo León;México;95465;10;Caja;Vasos decorados;20;200;1;pieza;Charola metálica;150;150;IVA;52.5 ;;','[^;]+',3,6) &lt;/pre&gt;&lt;pre&gt;FROM DUAL &lt;/pre&gt;&lt;pre&gt;&lt;br /&gt;&lt;/pre&gt;Ahora lo que quiere decir los parametros es lo siguiente:&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br /&gt;[^;]+ va a separar los tokens que contengan este expresion regular&lt;br /&gt;3 va a empezar en la posición 3 de la cadena, va eliminar los dos primeros&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;la cadena quedaria de la siguiente manera:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;A;1;2005-09-02T16:30:00;1;ISP900909Q88;Industrias del Sur Poniente, S.A. de C.V.;Alvaro Obregón;37;3;Col. Roma Norte;México;Cuauhtémoc;Distrito Federal;México;06700;Pino Suarez;23;Centro;Monterrey;Monterrey;Nuevo Léon;México;95460;CAUR390312S87;Rosa María Calderón Uriegas;Topochico;52;Jardines del Valle;Monterrey;Monterrey;Nuevo León;México;95465;10;Caja;Vasos decorados;20;200;1;pieza;Charola metálica;150;150;IVA;52.5 ;;&lt;br /&gt;El parametro 6 que es la ocurrencia,para nuestra expresion separa la cadena de esta manera:&lt;br /&gt;&lt;br /&gt;A ocurrencia 1&lt;br /&gt;1 ocurrencia 2&lt;br /&gt;2005-09-02T16:30:00 ocurrencia 3&lt;br /&gt;1 ocurrencia 4&lt;br /&gt;ISP900909Q88 ocurrencia 5&lt;br /&gt;&lt;span style="color:#990000;"&gt;Industrias del Sur Poniente, S.A. de C.V. ocurrencia 6&lt;/span&gt;&lt;br /&gt;Alvaro Obregón ocurrencia 7&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;n ocurrencia 7&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;y el resultado de conculta es:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#990000;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Industrias del Sur Poniente, S.A. de C.V. &lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2110345680045420755?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2110345680045420755/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2110345680045420755' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2110345680045420755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2110345680045420755'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/08/regexpsubstr-en-oracle.html' title='REGEXP_SUBSTR en oracle'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-9046301615983407149</id><published>2011-08-22T09:29:00.000-07:00</published><updated>2011-08-22T09:45:50.653-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cronologia de un corto'/><category scheme='http://www.blogger.com/atom/ns#' term='Cine'/><title type='text'>Esta entrada es igual que todas las demas</title><content type='html'>Si es como una canción, como una pelicula : principio y fin, solo que el final es menos dramatico y el guion aun se esta escribiendo, es una pelicula grabada en el pasado para que la puedan ver en el presente, no ha sido editada porque aun esta siendo grabada, desde un escritorio con una computadora en un lenguaje que parece una monserga.&lt;br /&gt;&lt;br /&gt;Las partes que componen la historia son dos personas tipicas, mas normales de lo comun, solo que alguien, sabia lo que hiba a pasar un dia, pero el otro nunca se dio cuenta,...,&lt;br /&gt;&lt;br /&gt;Camaras porfavor que vamos a grabar la ultima escena del dia que me tengo que ir a casa,...,&lt;br /&gt;ok director, - grabamos la ensena aprobechando que estan en el coche y estan disgustados,..,&lt;br /&gt;silencio, camara, accion, corren cinta, audio,...&lt;br /&gt;&lt;br /&gt;- El auto sigue su rumbo, mientras una pareja discute por una cosa burda se dicen de palabras la baja de coche y sigue su rumbo&lt;br /&gt;&lt;br /&gt;Corte, se queda, pero como director salio pesima, lo que importa no es la actuacion sino el realismo,...,&lt;br /&gt;&lt;br /&gt;El director se pone a pensar porque se fue el actor del coche,..., que le diria a su chica,&lt;br /&gt;creo que esta vez he ido muy lejor y el director su puso a llorar&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-9046301615983407149?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/9046301615983407149/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=9046301615983407149' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/9046301615983407149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/9046301615983407149'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/08/esta-entrada-es-igual-que-todas-las.html' title='Esta entrada es igual que todas las demas'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-8601627120904249840</id><published>2011-06-04T09:49:00.000-07:00</published><updated>2011-06-20T09:28:09.800-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIPELINED oracle'/><category scheme='http://www.blogger.com/atom/ns#' term='RECORD'/><category scheme='http://www.blogger.com/atom/ns#' term='PL/SQL'/><title type='text'>Como hacer una cursor de una tabla de tipo record? (PL/SQL)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Todos alguna vez cuando programamos en PL/SQL nos topamos con el problema de retornar un cursor pero los campos se encuentran en distinas tablas y ademas debemos tener validaciones de x tipo, sumado a esto no podemos crear una GLOBAL TEMPORARY TABLE.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Paso 1.&lt;/strong&gt; Creamos un record con los tipo de datos que deseamos utilizar, para una mejor practica recomiendo el uso de&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;esquema.nombretabla.campo%TYPE&lt;br /&gt;&lt;br /&gt;&amp;nbsp;TYPE persona IS RECORD &lt;br /&gt;( &lt;br /&gt;nombre VARCHAR2(100),&lt;br /&gt;edad NUMERIC(2)&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;&lt;strong&gt;Paso 2.&lt;/strong&gt; Creamos una colección de datos con el tipo de dato persona&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;TYPE listaPersonas&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;IS&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;TABLE OF persona;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers listaPersonas := listaPersonas();&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;Es necesario aclarar que esta tabla solo estará disponible cuando se llame al paquete, función o procedimiento, para agregar elementos a la colección (TABLA) se llama a metodo extend (añade una instancia)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;Ejemplo:&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers.extend;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers(indice).nombre := 'Josue '; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers(indice).edad :=25;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;indice es el subíndice de la tabla, este indica la posición en que hace referencia la instancia que estamos asignando&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;&lt;strong&gt;Paso 3&lt;/strong&gt;. Necesitamos crear una función PIPELINED, esta función sirve para manejar volúmenes de información cuando no se desea guardar los datos físicamente en alguna tabla de la base de datos, en resumen la &lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;función de&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;PIPELINED&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; son&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;útiles&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;si hay una&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;necesidad de una fuente&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;de datos&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;que no sea una&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;tabla&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="hps"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;en una instrucción select&lt;/span&gt;&lt;/span&gt;&lt;span class="longtext"&gt;&lt;span style="color: black; font-family: Arial; font-size: 10pt;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;(&lt;a href="http://www.akadia.com/services/ora_pipe_functions.html"&gt;&lt;span style="color: purple;"&gt;http://www.akadia.com/services/ora_pipe_functions.html&lt;/span&gt;&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;FUNCTION getRows RETURN listaPersonas PIPELINED IS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;BEGIN &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;FOR i IN listPers.first..listPers.last LOOP&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;PIPE ROW ( listPers(i) ); &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;END LOOP;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;RETURN;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;END getRows;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;strong&gt;El codigo completo es el siguiente:&lt;/strong&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;create or replace PACKAGE&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;PR_EJEMPLO_Pipelined&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;IS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;TYPE persona IS RECORD&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;(&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;nombre VARCHAR2(100),&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;edad NUMERIC(2)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;TYPE listaPersonas&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;IS&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;TABLE OF persona;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers listaPersonas := listaPersonas();&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;PROCEDURE OBTPERSONAS;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;FUNCTION getRows RETURN listaPersonas PIPELINED;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;END;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;/&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;create or replace PACKAGE BODY PR_EJEMPLO_Pipelined&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;IS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;PROCEDURE OBTPERSONAS IS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;IND NUMBER := 0;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;type personas_cursor is REF CURSOR;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;BEGIN&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers.delete;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;WHILE(IND&amp;lt;20)&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;LOOP&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;IND := IND + 1; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers.extend;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers(IND).nombre := 'Josue '||IND; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;listPers(IND).edad := IND; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;END LOOP; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;for x in listPers.first..listPers.last&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;loop&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;dbms_output.put_line(listPers(x).nombre||' - '||listPers(x).edad);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;end loop;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;for p in ( SELECT * from&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;TABLE(getRows) ) loop&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;dbms_output.put_line('tabla temporal '||p.nombre||' - '||p.edad);&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;end loop;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;FUNCTION getRows RETURN listaPersonas PIPELINED IS&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;BEGIN &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;FOR i IN listPers.first..listPers.last LOOP&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;PIPE ROW ( listPers(i) ); &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;END LOOP;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;RETURN;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;END getRows;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;END PR_EJEMPLO_Pipelined ;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin: 0cm 0cm 0pt;"&gt;&lt;span lang="ES-MX" style="font-family: Arial; font-size: 10pt; mso-ansi-language: ES-MX;"&gt;&amp;nbsp;/&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-8601627120904249840?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/8601627120904249840/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=8601627120904249840' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8601627120904249840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8601627120904249840'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/06/como-hacer-una-cursor-de-una-tabla-de.html' title='Como hacer una cursor de una tabla de tipo record? (PL/SQL)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-1857553402745731295</id><published>2011-03-22T11:25:00.000-07:00</published><updated>2011-03-22T11:27:06.264-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='swingx'/><category scheme='http://www.blogger.com/atom/ns#' term='widgets de swing'/><title type='text'>Grid en swingx (Parte 2)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Para la parte crearemos un la parte del modelo el cual servira para mostrar datos en nuestro tabla de swing, es muy simple solo debemos hacer lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.-&lt;/b&gt; Vamos a crear una JFrame en donde colocaremos nuestro JPanelGrid, netbeans tiene una manera fácil y rápida de hacerlo File/New File/Swing GUI Forms/ en la opción de Files types seleccionar JFrameForm y next&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-5Z1c-kLgNBo/TYjh910lsUI/AAAAAAAAAO8/SZLbzdEixS0/s1600/gridx10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh5.googleusercontent.com/-5Z1c-kLgNBo/TYjh910lsUI/AAAAAAAAAO8/SZLbzdEixS0/s320/gridx10.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aparecerá un panel en donde tienen que poner el nombre la clase para este ejemplo se llamara JFramePrincipal.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-ratjixjagz8/TYji3v8jXnI/AAAAAAAAAPA/0OKUvEBo6vc/s1600/gridx11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh6.googleusercontent.com/-ratjixjagz8/TYji3v8jXnI/AAAAAAAAAPA/0OKUvEBo6vc/s320/gridx11.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ahora ya tendremos una ventana en donde podremos colocar nuestro JPanelGrid, pero antes de agregarlo vamos a las propiedades de la tabla su nombre es jXTable1, en las propiedades hay una que se llama model&lt;br /&gt;entramos ha esta y eliminamos todas las columnas y renglones, después damos clic en botón OK, en la imagen de abajo muestro como hacerlo.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-OItKTL0sWas/TYjlETNq2sI/AAAAAAAAAPE/nPJuFrWdGwM/s1600/gridx12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh4.googleusercontent.com/-OItKTL0sWas/TYjlETNq2sI/AAAAAAAAAPE/nPJuFrWdGwM/s320/gridx12.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Después compilamos con F9 nuestra clase llamada JPanelGrid y para adherirlo a nuestro JFramePrincipal solo es necesario arrastrar nuestra Clase JPanelGrid en JFramePricipal que esta en modo diseño.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-K7I6kC94C5o/TYjn64y2WvI/AAAAAAAAAPI/q8h_T3cIiMI/s1600/gridx14.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh6.googleusercontent.com/-K7I6kC94C5o/TYjn64y2WvI/AAAAAAAAAPI/q8h_T3cIiMI/s1600/gridx14.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="141" src="https://lh6.googleusercontent.com/-K7I6kC94C5o/TYjn64y2WvI/AAAAAAAAAPI/q8h_T3cIiMI/s320/gridx14.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Para probar que todo hasta aquí va funcionando de maravilla solo necesitamos ejecutar (Run File) la clase JFramePrincipal y nos tiene que abrir una ventana con un grid vacio.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-JLfcpe1ZO_o/TYjpMpdpw8I/AAAAAAAAAPM/MC-wEqhmDJQ/s1600/gridx14.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="103" src="https://lh4.googleusercontent.com/-JLfcpe1ZO_o/TYjpMpdpw8I/AAAAAAAAAPM/MC-wEqhmDJQ/s320/gridx14.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-1857553402745731295?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/1857553402745731295/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=1857553402745731295' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1857553402745731295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1857553402745731295'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2011/03/grid-en-swingx-parte-2.html' title='Grid en swingx (Parte 2)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh5.googleusercontent.com/-5Z1c-kLgNBo/TYjh910lsUI/AAAAAAAAAO8/SZLbzdEixS0/s72-c/gridx10.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-1446374976006926956</id><published>2010-08-03T22:13:00.000-07:00</published><updated>2011-03-22T10:45:20.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='swingx'/><category scheme='http://www.blogger.com/atom/ns#' term='widgets de swing'/><title type='text'>Grid en SwingX  (Java)</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-ofpYy6pt27c/TYOwO1bVk0I/AAAAAAAAAOo/exnvFa_oXoE/s1600/gridx5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;Hola:&lt;br /&gt;&lt;br /&gt;Después de unos cuantas dias sin tener alguna entrada en mi blog he decidido&amp;nbsp; hacer una sobre swing en este caso hay un api llamada swingx de swinglabs.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Paso 1.&lt;/b&gt; Crear un proyecto en netbeans con el nombre que mas les agrade (ejemplo: MiPrimeraAplicacion, es broma).&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_LqD7mWOFVm8/TFj283z2tqI/AAAAAAAAAOA/cVMPkkQPuKo/s1600/swingx.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/TFj283z2tqI/AAAAAAAAAOA/cVMPkkQPuKo/s320/swingx.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LqD7mWOFVm8/TFj29_NStXI/AAAAAAAAAOE/-fgLyyMeMLo/s1600/swingx2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/TFj29_NStXI/AAAAAAAAAOE/-fgLyyMeMLo/s320/swingx2.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Paso 2 .&lt;/b&gt; Descargar el jar de swingx de este lugar &lt;a href="http://swinglabs.org/"&gt;http://swinglabs.org/&lt;/a&gt;&amp;nbsp; espero que funcione porque la mayor parte el servidor esta abajo, pero pueden buscarlo en google.&lt;br /&gt;&lt;b&gt;Paso 3 &lt;/b&gt;. Agregar los componentes de swingx a la papeleta de netbeans:&lt;br /&gt;Despues de descargar los jars de swingx, los jars que necesitamos son los siguientes:&lt;br /&gt;&amp;nbsp;- swingx-beaninfo-1.6.jar&lt;br /&gt;&amp;nbsp;- swingx-1.6.jar&lt;br /&gt;En la barra de herramientas de Netbeans nos dirigimos a la opción Tools/Palette/Swing and AWT Componets, como lo muestra la imagen de abajo.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-m9cxvAmZqK4/TYJX0YA0xlI/AAAAAAAAAOY/nYqTXMpxNo4/s1600/gridx1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh4.googleusercontent.com/-m9cxvAmZqK4/TYJX0YA0xlI/AAAAAAAAAOY/nYqTXMpxNo4/s320/gridx1.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Abrira una ventana llamada Palette Manager que es la encargada de adminitrar la Paleta, en esta damos clic al boton New Category y creamos una nueva categoria que se llama swingx.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-QZfMsW-pcu4/TYJZGL8IcrI/AAAAAAAAAOc/TSYERkTW0p0/s1600/gridx2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh3.googleusercontent.com/-QZfMsW-pcu4/TYJZGL8IcrI/AAAAAAAAAOc/TSYERkTW0p0/s320/gridx2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Despues de dar clic en Ok nos creara un foldercito con el nombre de nuestra categoria llamada swingx, para agregar nuestros componentes de swingx seleccionamos nuestra categoria y damos clic en el boton Add&amp;nbsp; from Jar mostrara una ventana con el titulo Install Components to Palette, en esta ventana seleccionamos donde estan nuestros dos jars swingx-beaninfo-1.6.jar y swingx-1.6.jar.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-6NoxEtNDCjs/TYJaicAR3oI/AAAAAAAAAOg/1Q4hKIwbq90/s1600/gridx3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh5.googleusercontent.com/-6NoxEtNDCjs/TYJaicAR3oI/AAAAAAAAAOg/1Q4hKIwbq90/s320/gridx3.png" width="320" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Dar next y mostrara una panel donde tenemos que elegir los componentes que se agregaran a la paleta, elegimos en la opción de radio button Show Marked Java Beans&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-Ang_hd8yIG8/TYOsktmHTtI/AAAAAAAAAOk/vI3Eoq7O34I/s1600/gridx4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh5.googleusercontent.com/-Ang_hd8yIG8/TYOsktmHTtI/AAAAAAAAAOk/vI3Eoq7O34I/s320/gridx4.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Damos nuevamente next, aparecera una otro panel en donde elegiremos la categoria que creamos anteriormente llamada swingx.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-ofpYy6pt27c/TYOwO1bVk0I/AAAAAAAAAOo/exnvFa_oXoE/s1600/gridx5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh4.googleusercontent.com/-ofpYy6pt27c/TYOwO1bVk0I/AAAAAAAAAOo/exnvFa_oXoE/s320/gridx5.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Por ultimo damos clic en boton Finish&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Paso 4&lt;/b&gt;. Ahora en nuestro proyecto vamos a crear un JPanelForm, tenemos que ir New File/Swing GUI Forms/JPanelForm&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-WFMouT7F2dg/TYO7x6PKSzI/AAAAAAAAAOs/N9xEn5E23c4/s1600/gridx6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh5.googleusercontent.com/-WFMouT7F2dg/TYO7x6PKSzI/AAAAAAAAAOs/N9xEn5E23c4/s320/gridx6.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Damos next y mostrara un panel donde le pondremos el nombre a nuestro JPanelForm para este ejemplo llamare a la clase JPanelGrid.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-qSkWzv5lXYI/TYjedq0pX8I/AAAAAAAAAO0/tucZCSMdcK8/s1600/gridx8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh4.googleusercontent.com/-qSkWzv5lXYI/TYjedq0pX8I/AAAAAAAAAO0/tucZCSMdcK8/s320/gridx8.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Despues de crear la clase JPanelGrid damos doble clic sobre ella y nos abrira el panel en modo diseño, tambien tiene un boton para ver el codigo fuente, del lado derecho esta la Palette con nuestra categoria llamada swingx, en esta se encuentra nuestra JXTable que ocuparemos para este ejemplo, para colocarla en nuestra panel solo debemos arrastrar y soltar y el componente en nuestro panel.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh5.googleusercontent.com/-ZXqYvH8VV7M/TYjfrTBrEAI/AAAAAAAAAO4/jJGztfDVsrw/s1600/gridx9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="https://lh5.googleusercontent.com/-ZXqYvH8VV7M/TYjfrTBrEAI/AAAAAAAAAO4/jJGztfDVsrw/s320/gridx9.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Hasta este punto ya tenemos un grid de swingx pero hace falta agragar datos y tambien crear su main, eso sera parte 2.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Dedicado a mi princesita.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-1446374976006926956?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/1446374976006926956/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=1446374976006926956' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1446374976006926956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1446374976006926956'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/08/grid-en-swingx-java.html' title='Grid en SwingX  (Java)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LqD7mWOFVm8/TFj283z2tqI/AAAAAAAAAOA/cVMPkkQPuKo/s72-c/swingx.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-8696859034643070002</id><published>2010-06-24T10:33:00.000-07:00</published><updated>2010-06-28T22:26:42.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='ui'/><title type='text'>JQuery ui</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Hola:&lt;br /&gt;&lt;br /&gt;JQuery es mi framework favorito&amp;nbsp; para el desarrollo de paginas web interactivas, ademas de tener exelentes herramientas en su web, en esta entrada les mostrare como usar JQuery ui el cual pueden personalizar desde este sitio &lt;a href="http://jqueryui.com/themeroller/"&gt;http://jqueryui.com/themeroller/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Paso 1. Configurar nuestro theme en con las opciones que están en las pestañas y despues dar click en download theme.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCOS0lVU9TI/AAAAAAAAANQ/7WzpjMRCEIM/s1600/jquery+theme.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="153" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCOS0lVU9TI/AAAAAAAAANQ/7WzpjMRCEIM/s320/jquery+theme.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Después se mostrara una pagina como la siguiente&amp;nbsp; den click en download , seleccionen todas las opciones.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCOWhYwJmpI/AAAAAAAAANU/vn4gXMkA5J8/s1600/jquery_ui2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCOWhYwJmpI/AAAAAAAAANU/vn4gXMkA5J8/s200/jquery_ui2.JPG" width="186" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;nbsp;Descomprimir el zip con nombre jquery-ui-1.8.2.custom, tendrá los siguientes archivos.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCUWIs88GHI/AAAAAAAAANY/a70NmpGmNTE/s1600/jquery_ui3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCUWIs88GHI/AAAAAAAAANY/a70NmpGmNTE/s1600/jquery_ui3.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Paso 2. Creamos un archivo html llamado prueba.html y otro dentro de la carpeta css que se llame prueba.css&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Codigo de prueba.html:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/div&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;jQuery UI Example Page&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link type="text/css" href="css/le-frog/jquery-ui-1.8.2.custom.css" rel="stylesheet" /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;link type="text/css" href="css/prueba.css" rel="stylesheet" /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript" src="js/jquery-1.4.2.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="ui_contededor" class="ui-widget"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="ui_1"&amp;nbsp; class="ui_1"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h3 class="ui-widget-header ui-corner-all"&amp;gt;Widget&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="ui-widget-content ui-corner-top"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a&amp;gt;Prueba&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="espacio" class="espacio"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="ui_2"&amp;nbsp; class="ui_2"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h3 class="ui-widget-header ui-corner-all"&amp;gt;Widget&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="ui-widget-content ui-corner-top"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a&amp;gt;Prueba&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;br /&gt;Codigo de prueba.css&lt;br /&gt;&lt;br /&gt;body{ font: 62.5% "Trebuchet MS", sans-serif; margin: 50px;}&lt;br /&gt;&lt;br /&gt;.espacio{&lt;br /&gt;padding: 4px;&lt;br /&gt;width: 1%;&lt;br /&gt;margin-left: 2px;&lt;br /&gt;float: left;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;.ui_1{&lt;br /&gt;float: left;&lt;br /&gt;width: 400px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.ui_2{&lt;br /&gt;float: left;&lt;br /&gt;width: 400px;&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Salida:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCkfpmhB6hI/AAAAAAAAANc/EIxwYjlqzGg/s1600/jquery_ui4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="66" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCkfpmhB6hI/AAAAAAAAANc/EIxwYjlqzGg/s320/jquery_ui4.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href="http://www.filamentgroup.com/lab/developer_your_own_jquery_themeroller_ready_components/"&gt;En este link ahi mas información sobre css y themes de jquery&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;En este ejemplo creamos dos widgets por medio de dos div&amp;nbsp; la manera de como se logra esto es por medio de los css, ejemplo: para poner en encabezado ocupamos lo siguiente&lt;br /&gt;&amp;lt;h3 class="ui-widget-header ui-corner-all"&amp;gt;Widget&amp;lt;/h3&amp;gt;&lt;br /&gt;y para el contenido:&lt;br /&gt;&amp;lt;div class="ui-widget-content ui-corner-top"&amp;gt;&lt;br /&gt;Pero podemos empezar a jugar con los css de jquery algunos son los siguientes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Widget Containers&lt;/h3&gt;&lt;h3&gt;&lt;b&gt;.ui-widget: Crea un contenedor de &lt;/b&gt;Widgets (Aplica estilos css)&lt;/h3&gt;&lt;h3&gt;&lt;b&gt;.ui-widget-header&lt;/b&gt;:&lt;b&gt; Crea un encabezado de un widget&amp;nbsp; &lt;/b&gt;(Aplica estilos css)&lt;/h3&gt;&lt;h3&gt;&lt;b&gt;.ui-widget-content: Aplica estilos al contenido del widget&lt;/b&gt;&lt;/h3&gt;&lt;h3&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/h3&gt;&lt;h3&gt;Misc Visuals&lt;/h3&gt;&lt;a href="http://draft.blogger.com/post-edit.g?blogID=4821629602737201938&amp;amp;postID=8696859034643070002" name="Corner_Radius_helpers"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h4&gt;Corner Radius helpers (Estilos de bordes)&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;.ui-corner-tl:&lt;/b&gt; Applies corner-radius to top  left corner of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-tr:&lt;/b&gt; Applies corner-radius to top  right corner of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-bl:&lt;/b&gt; Applies corner-radius to bottom  left corner of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-br:&lt;/b&gt; Applies corner-radius to bottom  right corner of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-top:&lt;/b&gt; Applies corner-radius to both  top corners of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-bottom:&lt;/b&gt; Applies corner-radius to  both bottom corners of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-right:&lt;/b&gt; Applies corner-radius to both  right corners of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-left:&lt;/b&gt; Applies corner-radius to both  left corners of element.&lt;/li&gt;&lt;li&gt;&lt;b&gt;.ui-corner-all:&lt;/b&gt; Applies corner-radius to all 4  corners of element.&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;&lt;b&gt;&amp;nbsp;En nuestro ejemplo el contenido solo tiene borde redondeado en la parte de arriba, pero si queremos que tenga solo del lado derecho, solo es cuestion de ocupar el estilo correspondiente ejemplo:&lt;/b&gt;&lt;/h3&gt;&lt;h3&gt;&lt;b&gt;&amp;nbsp;&amp;lt;div id="ui_1"&amp;nbsp; class="ui_1"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;h3 class="ui-widget-header ui-corner-right"&amp;gt;Widget&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;div class="ui-widget-content ui-corner-top"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;a&amp;gt;Prueba&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;a&amp;gt;Prueba&amp;lt;/a&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/b&gt;&lt;/h3&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCmBrZF4k3I/AAAAAAAAANg/JuJzVYlkQ98/s1600/jquery_ui5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="44" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/TCmBrZF4k3I/AAAAAAAAANg/JuJzVYlkQ98/s320/jquery_ui5.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h3&gt;&lt;b&gt;&amp;nbsp;Con el nuevo estilo el encabezado tiene borde redondeado solo a la derecha, es fácil y rápido.&lt;/b&gt;&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-8696859034643070002?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/8696859034643070002/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=8696859034643070002' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8696859034643070002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8696859034643070002'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/06/jquery-ui.html' title='JQuery ui'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LqD7mWOFVm8/TCOS0lVU9TI/AAAAAAAAANQ/7WzpjMRCEIM/s72-c/jquery+theme.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6407791115109075151</id><published>2010-06-16T15:16:00.000-07:00</published><updated>2010-06-16T15:34:52.661-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mi vida'/><category scheme='http://www.blogger.com/atom/ns#' term='prepa'/><title type='text'>Verano 2000</title><content type='html'>&lt;div id="msgcns!D0BA81B18A4BFCCD!434" class="bvMsg"&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Una vez más aquella piscina, aun espera...&lt;/strong&gt;&lt;/span&gt;   &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Nunca es bastante de  aquello, nunca es suficiente...&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Cuando papa corrió y me  dijo yo podía...&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Que aun intentando de  todas maneras tendría que funcionar así, como el espacio vacío, de aquel  corazón lleno de odio, dime que esta vez no fuiste, ve a casa, y de  todas maneras se que esta vez todo saldrá bien, que aquella vez que  solía estar mojado, y preocupado, sobre aquella estupidez de aquel &lt;span&gt; &lt;/span&gt;verano,  tú lo sabes y el también; dime que aun te acuerdas de aquel parque  cuando ella corrió, de alguna extraña razón sus ojos verdes te hacían  sentir bien, su lindo cabello en fin, yo pude haber llegado a casa  noche, pero sin saber porque somos tan perfectos amigos, se que alguna  vez te hice sentir el más estúpido, pero sé que tu cuentas historias de  mi, al igual que yo, porque después de 8 largos años me doy cuento, que  no necesito recordarte , créeme, porque ya eres parte de mi vida, en fin  un buen día descubriremos que todo ha pasado; &lt;span&gt; &lt;/span&gt;por todo lo  hemos estado angustiado a concluido, que aquella pelea era de amigos,  sabes que me va gusto ser tu amigo...&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Te acuerdas de aquella  pekora que me hizo llorar hace tiempo, aquella que solía ser como un  fantasma, o de aquellos tres imaginarios chicos que nunca nadie pensó de  que podían lograr algo &lt;span&gt; &lt;/span&gt;, que alguna vez platicamos por  una noche entera en aquella camioneta de todo que sería de nosotros, sin  darnos cuenta&lt;span&gt;  &lt;/span&gt;que estamos haciendo nuestro destino...&lt;/strong&gt;&lt;/span&gt;   &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Aquella grabadora  nostálgica tocando aun la canción de los smashing pumkins, aquel agujero  esperando,…&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Aun la llamado  telefónica mía&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;-Cómo te llamas amigo&lt;/strong&gt;&lt;/span&gt;   &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;-Isaac&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;-Que rola te gustaría  escuchar&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;-Pues no lo sé una de  placebo, ohhh... de...mmmm...radiohead...&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;-Muy buenas bandas, pero  cual te gustaría escuchar&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;-bueno ya se una de los  deftones...&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;&lt;span style="color: rgb(23, 54, 93);"&gt;&lt;span&gt; &lt;/span&gt;O mejor aun  esperando por días para justamente el sábado fuera el cumpleaños de ella  y papa no me dejara ir&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Creo que si me perdí un  par fiestas, aun enojado prendía la t.v y aquel especial de Mc de  radiohead para&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Variar...que riza...&lt;/strong&gt;&lt;/span&gt;   &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Para llegar el lunes a  la escuela y enterarme de todas las babosadas que hicieron sin mi...&lt;/strong&gt;&lt;/span&gt;   &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;O mejor aun encerrado el  ropero con ella, dime que no te acuerdas de todas las estupideces que  hacíamos juntos&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;, aquel ropero oscuro  lleno de alegría...&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;Para mis mejores  amigos…gracias totales&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 10pt;" align="center"&gt;&lt;span style="font-weight: bold;"&gt;(Lo puse como entrada en Live  hace un par de años dedicado especialmente a mi amigo Miguel Angel Ordoñez(Alvin), Raul Cardenaz Vasquez, La Vaca(Baltazar), Andrea, Cesar, Judith, Lucia, Luis Bacilio y a mi princesita)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(23, 54, 93);font-family:Calibri;font-size:100%;"  &gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&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/4821629602737201938-6407791115109075151?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6407791115109075151/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6407791115109075151' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6407791115109075151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6407791115109075151'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/06/verano-2000.html' title='Verano 2000'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-7043410458855727287</id><published>2010-05-17T15:56:00.001-07:00</published><updated>2010-06-04T15:29:56.182-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Properties'/><title type='text'>Archivo de properties en Java (Proyecto Isaacrobot parte I)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Por lo regular en nuestros proyectos tenemos la necesidad de crear variables que quizas en algún momento puedan llegar a cambiar y no seria óptimo tenerlas en una base de datos, para esto java creo un tipo de archivos llamados ejemplo.properties en los cuales se pueden manejar propiedades y valores.&lt;br /&gt;&lt;br /&gt;El código es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import java.io.FileNotFoundException;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.util.Properties;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author mew&lt;br /&gt;*/&lt;br /&gt;public class FileProperties {&lt;br /&gt; &lt;br /&gt;   private Properties properties;&lt;br /&gt;&lt;br /&gt;   public void loadFileProperties(String name){&lt;br /&gt;   &lt;br /&gt;        properties = new Properties();&lt;br /&gt;       try {&lt;br /&gt;           properties.load(this.getClass().getResource(name+".properties").openStream());&lt;br /&gt;       } catch (IOException e) {&lt;br /&gt;           e.printStackTrace();&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public String getProperty(String property){&lt;br /&gt;       String  property_= "";&lt;br /&gt;       property_ = properties.getProperty(property);&lt;br /&gt;       property_=(property_!=null)?property_:"";&lt;br /&gt;&lt;br /&gt;       return property_;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public static void main(String[] args) throws FileNotFoundException {&lt;br /&gt;  &lt;br /&gt;       FileProperties properties = new FileProperties();&lt;br /&gt;       properties.loadFileProperties("baseDeDatos");&lt;br /&gt;       System.out.println(""+properties.getProperty("port"));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El archivo de properties debe de estar en la misma ruta donde esta esta clase:&lt;br /&gt;para este ejemplo seria algo como esto baseDeDatos.properties y tendria lo siguiente:&lt;br /&gt;&lt;br /&gt;host=localhost&lt;br /&gt;port=1521&lt;br /&gt;sid=prueba&lt;br /&gt;user=prueba&lt;br /&gt;password=1234567&lt;br /&gt;&lt;br /&gt;La salida sera algo como esto:&lt;br /&gt;1521&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-7043410458855727287?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/7043410458855727287/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=7043410458855727287' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/7043410458855727287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/7043410458855727287'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/05/archivo-de-properties-en-java-proyecto.html' title='Archivo de properties en Java (Proyecto Isaacrobot parte I)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-21162958665578595</id><published>2010-05-11T11:37:00.000-07:00</published><updated>2010-05-12T21:16:20.879-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Música para despertar dragones'/><category scheme='http://www.blogger.com/atom/ns#' term='Cortometraje'/><category scheme='http://www.blogger.com/atom/ns#' term='Cine'/><title type='text'>Música para despertar dragones (Cortometraje)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;Música  para despertar dragones&lt;/span&gt; es el primer cortometraje en que tengo participación, la verdad fue una experiencia bien chida y no la cambiaría por nada, la historia luego la contare, pero primero nombre la lista de los que participamos.&lt;br /&gt;&lt;br /&gt;Directores : Carlos (Mi primo) y Bernardo&lt;br /&gt;Guión: Bernardo&lt;br /&gt;Reparto :&lt;br /&gt;Cindy, Alicia, Luisa y Erick&lt;br /&gt;Camarógrafo: Jorge Ortega .&lt;br /&gt;Ayudantes en general: Lupita, Fito, Fo, Arien, Lalo ,Vicente y yo.&lt;br /&gt;Locación: Hacienda la esperanza (Tlachaloya Edo de Méx).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S-m8qlTATYI/AAAAAAAAAM4/ywl9zQtTRMA/s1600/DSC00138.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470110662170529154" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S-m8qlTATYI/AAAAAAAAAM4/ywl9zQtTRMA/s320/DSC00138.JPG" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S-m84aW8ELI/AAAAAAAAANA/L-y2ZnJrLiY/s1600/DSC00158.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470110899752407218" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/S-m84aW8ELI/AAAAAAAAANA/L-y2ZnJrLiY/s320/DSC00158.JPG" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S-m9G8NZ79I/AAAAAAAAANI/SCauJc4bHUw/s1600/DSC00129.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5470111149357395922" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S-m9G8NZ79I/AAAAAAAAANI/SCauJc4bHUw/s320/DSC00129.JPG" style="cursor: pointer; display: block; height: 240px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-21162958665578595?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/21162958665578595/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=21162958665578595' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/21162958665578595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/21162958665578595'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/05/musica-para-despertar-dragones.html' title='Música para despertar dragones (Cortometraje)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/S-m8qlTATYI/AAAAAAAAAM4/ywl9zQtTRMA/s72-c/DSC00138.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2095860962277927408</id><published>2010-05-05T22:34:00.000-07:00</published><updated>2010-05-05T22:34:38.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Date'/><category scheme='http://www.blogger.com/atom/ns#' term='Calendar'/><title type='text'>Obtener día, mes y año de una fecha en java con Date y Calendar</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Este en un ejemplo de una clase Java que puede servir para no usar lo siguiente:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date date = null;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date = formatter.parse(fecha);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (ParseException ex) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logger.getLogger(ImpuestoEstadoDeMexico.class.getName()).log(Level.SEVERE, null, ex);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; date.getDay();&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date.getMonth();&lt;/span&gt;&lt;br style="color: red;" /&gt;&lt;span style="color: red;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date.getYear();&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Estos métodos ya son obsoletos para las versiones mayores a la JDK 1.1 y por eso se recomienda el uso de Calendar.&lt;br /&gt;&lt;br /&gt;import java.text.DateFormat;&lt;br /&gt;import java.text.ParseException;&lt;br /&gt;import java.text.SimpleDateFormat;&lt;br /&gt;import java.util.Calendar;&lt;br /&gt;import java.util.Date;&lt;br /&gt;import java.util.logging.Level;&lt;br /&gt;import java.util.logging.Logger;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;* @author mew&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;public class Fecha {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String fecha;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int dia;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int mes;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private int anio;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getAnio() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return anio;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setAnio(int anio) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.anio = anio;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getDia() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return dia;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setDia(int dia) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.dia = dia;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getFecha() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return fecha;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setFecha(String fecha) {&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date date = null;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; date = formatter.parse(fecha);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (ParseException ex) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logger.getLogger(ImpuestoEstadoDeMexico.class.getName()).log(Level.SEVERE, null, ex);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Calendar calendar = Calendar.getInstance();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; calendar.setTime(date);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int anio_ = calendar.get(Calendar.YEAR);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int mes_ = calendar.get(Calendar.MONTH)+1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int dia_ = calendar.get(Calendar.DAY_OF_MONTH);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setAnio(anio_);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setDia(dia_);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.setMes(mes_);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.fecha = fecha;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int getMes() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return mes;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setMes(int mes) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.mes = mes;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static void main(String[] args) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fecha fecha = new Fecha();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fecha.setFecha("28/03/2010");&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(fecha.getAnio()+" "+fecha.getMes()+" "+fecha.getDia());&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;La salia sera algo como lo siguinte:&lt;br /&gt;&lt;br /&gt;2010 3 28&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2095860962277927408?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2095860962277927408/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2095860962277927408' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2095860962277927408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2095860962277927408'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/05/obtener-dia-mes-y-ano-de-una-fecha-en.html' title='Obtener día, mes y año de una fecha en java con Date y Calendar'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-1219176295030221332</id><published>2010-04-12T09:26:00.000-07:00</published><updated>2010-04-12T09:57:37.158-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='pdfbox'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><title type='text'>Leer un PDF con PDFBox</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 102, 0); font-family: courier new;"&gt;Esta entrada fue escrita por Nancy mi princesita para mi blog muchas gracias.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hace poco tiempo me tope con la necesidad de leer pdf's desde un servidor para obtener el texto del pdf y sus propiedades, por lo que tuve que investigar con que herramientas podría leer un pdf para  convertirlo en un String y después manipular el contenido para obtener solo el texto que me interesaba, me tope con un muy buen blog el cual te explica como hacerlo con PDFBox a mi parecer esta muy entendible y me sirvió para mi propósito, lo único que hice fue modificarlo un poco:&lt;br /&gt;este es el link del blog que mencione anteriormente: &lt;a href="http://noelia-java.blogspot.com/2009/07/leer-pdf-desde-java.html"&gt;http://noelia-java.blogspot.com/2009/07/leer-pdf-desde-java.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Estas son las clases que genere yo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author nany&lt;br /&gt;*/&lt;br /&gt;public class EntidadPDF {&lt;br /&gt;private String titulo;&lt;br /&gt;private String autor;&lt;br /&gt;private int numeroDePaginas;&lt;br /&gt;private String tema;&lt;br /&gt;private String palabrasClave;&lt;br /&gt;private String creador;&lt;br /&gt;private String productor;&lt;br /&gt;private String contenido;//el contenido completo del documento&lt;br /&gt;&lt;br /&gt; public String getAutor() {&lt;br /&gt;     return autor;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setAutor(String autor) {&lt;br /&gt;     this.autor = autor;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getContenido() {&lt;br /&gt;     return contenido;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setContenido(String contenido) {&lt;br /&gt;     this.contenido = contenido;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getCreador() {&lt;br /&gt;     return creador;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setCreador(String creador) {&lt;br /&gt;     this.creador = creador;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public int getNumeroDePaginas() {&lt;br /&gt;     return numeroDePaginas;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setNumeroDePaginas(int numeroDePaginas) {&lt;br /&gt;     this.numeroDePaginas = numeroDePaginas;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public String getPalabrasClave() {&lt;br /&gt;     return palabrasClave;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setPalabrasClave(String palabrasClave) {&lt;br /&gt;     this.palabrasClave = palabrasClave;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getProductor() {&lt;br /&gt;     return productor;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setProductor(String productor) {&lt;br /&gt;     this.productor = productor;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public String getTema() {&lt;br /&gt;     return tema;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setTema(String tema) {&lt;br /&gt;     this.tema = tema;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public String getTitulo() {&lt;br /&gt;     return titulo;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void setTitulo(String titulo) {&lt;br /&gt;     this.titulo = titulo;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;El método que leera el pdf dada una url esta contenido en al siguiente clase&lt;br /&gt;&lt;br /&gt;import java.io.FileInputStream;&lt;br /&gt;import java.io.FileNotFoundException;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStream;&lt;br /&gt;import java.net.URL;&lt;br /&gt;import org.pdfbox.pdfparser.PDFParser;&lt;br /&gt;import org.pdfbox.pdmodel.PDDocument;&lt;br /&gt;import org.pdfbox.pdmodel.PDDocumentInformation;&lt;br /&gt;import org.pdfbox.util.PDFTextStripper;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author nany&lt;br /&gt;*/&lt;br /&gt;public class ContenedorPDF {&lt;br /&gt;&lt;br /&gt; private FileInputStream file = null;&lt;br /&gt; private PDDocument document = null;&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * Abre el archivo especificado en la ruta para generar un objeto de tipo EntidadPDF&lt;br /&gt;  * @param archivo&lt;br /&gt;  * @return&lt;br /&gt;  * @throws org.pdfbox.exceptions.CryptographyException&lt;br /&gt;  * @throws org.pdfbox.exceptions.InvalidPasswordException&lt;br /&gt;  */&lt;br /&gt; public EntidadPDF convertirAModelo(String archivo)  {&lt;br /&gt;     EntidadPDF entPdf = new EntidadPDF();&lt;br /&gt;     try {&lt;br /&gt;&lt;br /&gt;         //leemos el pdf del articulo lo efectivo&lt;br /&gt;         URL url = new URL(archivo);&lt;br /&gt;         InputStream is = url.openStream();&lt;br /&gt;&lt;br /&gt;         PDFParser parser = new PDFParser(is);&lt;br /&gt;&lt;br /&gt;         parser.parse();&lt;br /&gt;         document = parser.getPDDocument();&lt;br /&gt;&lt;br /&gt;         //Obtenemos todo el contenido del pdf&lt;br /&gt;         PDFTextStripper stripper = new PDFTextStripper();&lt;br /&gt;         entPdf.setContenido(stripper.getText(document));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         //obtenemos la informacion de las propiedades del pdf&lt;br /&gt;         PDDocumentInformation info = document.getDocumentInformation();&lt;br /&gt;&lt;br /&gt;         entPdf.setTitulo(info.getTitle());&lt;br /&gt;         entPdf.setAutor(info.getAuthor());&lt;br /&gt;         entPdf.setNumeroDePaginas(document.getNumberOfPages());&lt;br /&gt;         entPdf.setTema(info.getSubject());&lt;br /&gt;         entPdf.setPalabrasClave(info.getKeywords());&lt;br /&gt;         entPdf.setCreador(info.getCreator());&lt;br /&gt;         entPdf.setProductor(info.getProducer());&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     } catch (FileNotFoundException e) {&lt;br /&gt;         e.printStackTrace();&lt;br /&gt;     } catch (IOException e) {//no se pudo abrir el archivo&lt;br /&gt;         e.printStackTrace();&lt;br /&gt;     } finally {&lt;br /&gt;         if (file != null) {&lt;br /&gt;             try {&lt;br /&gt;                 file.close();&lt;br /&gt;             } catch (IOException e) {//no se pudo cerrar el archivo&lt;br /&gt;                 e.printStackTrace();&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;         if (document != null) {&lt;br /&gt;             try {&lt;br /&gt;                 document.close();&lt;br /&gt;             } catch (IOException e) {//no se pudo cerrar el documento&lt;br /&gt;                 e.printStackTrace();&lt;br /&gt;             }&lt;br /&gt;         }&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     return entPdf;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bien espero y le sea de ayuda, le dejo otro link de otras librerías que permiten la manipulación del pdf&lt;br /&gt;&lt;a href="http://www.qoppa.com/"&gt;http://www.qoppa.com/&lt;/a&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Enlace" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="img/blank.gif" alt="Enlace" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-1219176295030221332?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/1219176295030221332/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=1219176295030221332' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1219176295030221332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1219176295030221332'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/04/leer-un-pdf-con-pdfbox.html' title='Leer un PDF con PDFBox'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-4861623732413974019</id><published>2010-04-09T13:55:00.000-07:00</published><updated>2010-04-12T10:00:04.749-07:00</updated><title type='text'>proyecto Isaacrobot</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Hace tiempo que estoy trabajando e investigando sobre la visualización de la información, es un tema muy amplio, a mi en lo personal me gusta mucho, pero las razones principales de crear el proyecto que desde hoy tengo el gusto de presentarles se llama de &lt;span style="color: rgb(255, 102, 0);"&gt;proyecto Isaacrobot &lt;/span&gt; el cual tratara de difundir la información para que esta sea mas accesible y sea libre.&lt;br /&gt;&lt;br /&gt;Como se logro esto:&lt;br /&gt;&lt;br /&gt;- Haciendo uso de tecnologías &lt;a href="http://es.wikipedia.org/wiki/Rich_Internet_Applications"&gt;RIA&lt;/a&gt; (&lt;b&gt;Aplicaciones de Internet Enriquecidas&lt;/b&gt;)&lt;br /&gt;- Por medio del uso de &lt;a href="http://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones"&gt;API's &lt;/a&gt;&lt;br /&gt;- Ocupando protocolos de acceso abierto como &lt;a href="http://es.wikipedia.org/wiki/OAI-PMH"&gt;OAI-PMH&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Próximamente voy a colocar en mi blog entradas de como voy a lograr esto, pero necesito también chavos que quieran colaborar de cualquier manera ya sea:&lt;br /&gt;&lt;br /&gt;- Ayudando al desarrollo.&lt;br /&gt;- Promoviendo el uso de la herramienta.&lt;br /&gt;- Crear conciencia de que el conocimiento debe ser libre.&lt;br /&gt;&lt;br /&gt;Y lo importante de la herramienta  sera libre y opensource.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-4861623732413974019?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/4861623732413974019/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=4861623732413974019' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4861623732413974019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4861623732413974019'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/04/proyecto-isaacrobot.html' title='proyecto Isaacrobot'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6623919066671734359</id><published>2010-04-09T08:25:00.000-07:00</published><updated>2010-04-09T09:30:03.171-07:00</updated><title type='text'>Seleccionar un parte especifica de un String en Java con  Scanner</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Muchas veses  cuando desarrollamos sistemas nos topamos con problemitos como el siguiente:&lt;br /&gt;&lt;br /&gt;Queremos extraer los caracteres o fracmentos en rojo de un String como este:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;2&lt;/span&gt;o. &lt;span style="color: rgb(255, 0, 0);"&gt;Marzo&lt;/span&gt;-&lt;span style="color: rgb(255, 0, 0);"&gt;Abril&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Seria una buena idea hacerlo con StringTokenizer pero tambien hay otra manera sensilla y elegante para hacerlo, solo tenemos que saber algo de expresiones, por ejemplo&lt;br /&gt;&lt;br /&gt;para el caracter 2 bien podria ser un 3,4,5,6... por lo tanto la expresion para esta seria que siempre este caracter es un digito &lt;span style="color: rgb(255, 153, 0);"&gt;\d &lt;span style="color: rgb(0, 0, 0);"&gt;esta es la expresion para un digito&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Marzo &lt;span style="color: rgb(0, 0, 0);"&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Abril  &lt;/span&gt;&lt;/span&gt;bien podrian ser Enero y Febrero, por lo tanto sabremos que siempre con palabras, me refiero que puede ser [a-z] y [A-Z], aqui se puede ocupar mas de una expresion  pero para este ejemplo ocuparemos &lt;span style="color: rgb(255, 153, 0);"&gt;\w&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;Por lo tanto nuestra expresion completa seria esta:&lt;br /&gt;&lt;br /&gt;           String input = "2o. Marzo-Abril";&lt;br /&gt;          String expr="(\\d)o.\\s(\\w+)-(\\w+)";&lt;br /&gt;&lt;br /&gt;Los parentesis son porque queremos obtener tres grupos que cumplan con la expresion que esta dentro de ellos.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; String input = "2o. Marzo-Abril";&lt;br /&gt;String expr="(\\d)o.\\s(\\w+)-(\\w+)";&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;Scanner s = new Scanner(input);&lt;br /&gt;             s.findInLine(expr);&lt;br /&gt;             MatchResult result = s.match();&lt;br /&gt;             for (int i=1; i&lt;=result.groupCount(); i++)&lt;br /&gt;                 System.out.println(i+" "+result.group(i));&lt;br /&gt;             s.close();&lt;br /&gt;&lt;br /&gt;El resultado seria este:&lt;br /&gt;&lt;br /&gt;1 2&lt;br /&gt;2 Marzo&lt;br /&gt;3 Abril&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pero que pasaria si el input fuera este:&lt;br /&gt;&lt;br /&gt;String input = "40o. Marzo-Abril";&lt;br /&gt;&lt;br /&gt;1 0&lt;br /&gt;2 Marzo&lt;br /&gt;3 Abril&lt;br /&gt;&lt;br /&gt;en el grupo 1 obtenemos el 0 pero nosotros esperariamos un 40, pero es logico&lt;br /&gt;puesto que nuestre expresion solo es \d que espera solo una posicion de un digito, para que sean varios necesitariamos \d+&lt;br /&gt;&lt;br /&gt;String input = "40o. Marzo-Abril";&lt;br /&gt; String expr="(\\d+)o.\\s(\\w+)-(\\w+)";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Scanner s = new Scanner(input);&lt;br /&gt;             s.findInLine(expr);&lt;br /&gt;             MatchResult result = s.match();&lt;br /&gt;             for (int i=1; i&lt;=result.groupCount(); i++)&lt;br /&gt;                 System.out.println(i+" "+result.group(i));&lt;br /&gt;             s.close();&lt;br /&gt;       &lt;br /&gt;&lt;br /&gt;Resultados:&lt;br /&gt;1 40&lt;br /&gt;2 Marzo&lt;br /&gt;3 Abril&lt;br /&gt;&lt;br /&gt;Saludos.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-6623919066671734359?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6623919066671734359/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6623919066671734359' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6623919066671734359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6623919066671734359'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/04/seleccionar-un-parte-especifica-de-un.html' title='Seleccionar un parte especifica de un String en Java con  Scanner'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2451258150234240345</id><published>2010-03-03T09:17:00.000-08:00</published><updated>2010-03-03T09:37:01.335-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PL SQL'/><title type='text'>PL SQL ARRAY (Oracle sqlDeveloper)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;En esta entrada me gustaría compartir lo poco que se de PL SQL, que desde el día de hot voy aprender, enseñare el uso de Array o arreglos que son como tablas temporales creadas al momento de ejecutar el PL SQL.&lt;br /&gt;------------------------------------------------&lt;br /&gt;DECLARE&lt;br /&gt;&lt;br /&gt;TYPE array_enteros IS TABLE OF NUMBER;&lt;br /&gt;Un_array array_enteros := array_enteros (10102,    10127,    10122,        10104,    10105    ,10106,    10107        ,10108    ,    10109    ,10114    ,10110,    10124    ,10125    ,10112    ,10113,    10116    ,    10123    ,10115    ,    10117    ,    10118    ,10119    ,    10121    ,10120    ,    10128,    10129,    10130);&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;&lt;br /&gt;  FOR i IN Un_array.FIRST..Un_array.LAST&lt;br /&gt;  LOOP&lt;br /&gt;    dbms_output.put_line('elemento '||Un_array(i));&lt;br /&gt;   end loop;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;EXCEPTION&lt;br /&gt; /*Parte de excepciones*/&lt;br /&gt; WHEN OTHERS THEN&lt;br /&gt; dbms_output.put_line('Se ha producido un error');&lt;br /&gt;&lt;br /&gt;END;&lt;br /&gt;-----------------------------------------------------&lt;br /&gt;&lt;br /&gt;Para mostrar los datos en sql Developer se tiene que hacer lo siguiente:&lt;br /&gt;&lt;br /&gt;Seleccionar el codigo del PL SQL en el editor.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S46b_PPnSoI/AAAAAAAAAMQ/zHcINSNjibE/s1600-h/Captura.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 158px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S46b_PPnSoI/AAAAAAAAAMQ/zHcINSNjibE/s320/Captura.JPG" alt="" id="BLOGGER_PHOTO_ID_5444460510263593602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Después para mostrar los datos hacemos lo siguiente: En las pestañas de abajo hay varias opciones vamos ala que dice Salida de DBMS, despues activamos la salida DBMS como se muestra en la imagen.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S46dT_DaxnI/AAAAAAAAAMY/trspBFT0wlk/s1600-h/Captura.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 98px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S46dT_DaxnI/AAAAAAAAAMY/trspBFT0wlk/s320/Captura.JPG" alt="" id="BLOGGER_PHOTO_ID_5444461966206355058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Después ejecutamos el bloque SQL y vamos nuevamente ala  pestaña de  Salida de DBMS, y nuestros datos ya están en la salida.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/S46eLa8xLrI/AAAAAAAAAMg/_Hn80fl_n3I/s1600-h/Captura.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 195px; height: 320px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/S46eLa8xLrI/AAAAAAAAAMg/_Hn80fl_n3I/s320/Captura.JPG" alt="" id="BLOGGER_PHOTO_ID_5444462918587461298" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2451258150234240345?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2451258150234240345/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2451258150234240345' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2451258150234240345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2451258150234240345'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/03/pl-sql-array-oracle-sqldeveloper.html' title='PL SQL ARRAY (Oracle sqlDeveloper)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LqD7mWOFVm8/S46b_PPnSoI/AAAAAAAAAMQ/zHcINSNjibE/s72-c/Captura.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-4572748581911494774</id><published>2010-03-02T15:17:00.000-08:00</published><updated>2010-03-05T20:33:21.608-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT NETBEANS JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='gson(API)'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='grid'/><title type='text'>Gwt Rcp, parte II (Grid Gwt-Ext)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S5HX8Lz54xI/AAAAAAAAAMo/qO1bp1_wqcw/s1600-h/Captura.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://isaacrobot.blogspot.com/2010/02/rcp-en-gwt-netbeans-gwt-ext.html"&gt;Parte I.&lt;/a&gt; (Recomendable)&lt;br /&gt;&lt;br /&gt;Hola, lo prometido es deuda, para  esta entrada lo primero que necesitamos saber es sobre un formato para  el intercambio de datos llamado &lt;a href="http://es.wikipedia.org/wiki/JSON"&gt;JSON&lt;/a&gt;  ,  no entrare en detalles ni en discusiones si es mejor que el xml, quizás  ese sea una entrada para mi blog, para entender como este formato de  datos y como se trabaja con java ya hay un API que te permite convertir  un Objeto java a un objeto JSON y el link es el siguiente:&lt;a href="http://blog.pontt.com/json-con-java/introduccion-java-y-json-primera-parte-con-ejemplo/"&gt;   http://blog.pontt.com/json-con-java/introduccion-java-y-json-primera-parte-con-ejemplo/&lt;/a&gt;  una entendido el ejemplo y descargo la API vamos a ver  el formato JSON que recibirá nuestro grid de GWT-EXT.  &lt;div style="text-align: justify;"&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;/span&gt;&lt;pre role="list"&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;code class="wrappedText focusRow" role="listitem"&gt;{&lt;/code&gt;&lt;code class="wrappedText focusRow" role="listitem"&gt;"totalCount":N,&lt;/code&gt;&lt;code class="wrappedText focusRow" role="listitem"&gt; "data":&lt;/code&gt;&lt;code class="wrappedText focusRow" role="listitem"&gt;[ {"atributo1"=valor1,..},{},{},......,&lt;br /&gt;{&lt;/code&gt;&lt;code class="wrappedText focusRow" role="listitem"&gt;"atributoN"=valorN,..&lt;/code&gt; &lt;/span&gt;&lt;span style=";font-family:arial;font-size:100%;"  &gt;&lt;code class="wrappedText focusRow" role="listitem"&gt;} ]}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S42lsAxs10I/AAAAAAAAALA/WgPeqXSxCnw/s1600-h/grid.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S42nW-EvGII/AAAAAAAAALI/nN1WNmNj4dU/s1600-h/grid.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 153px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S42nW-EvGII/AAAAAAAAALI/nN1WNmNj4dU/s320/grid.jpg" alt="" id="BLOGGER_PHOTO_ID_5444191537622620290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;El diagrama muestra la colaboración de clases Java necesarias para llenar los con datos un grid.&lt;br /&gt;&lt;br /&gt;Este el formato general que recibe un grid de Gwt-Ext para funcionar, desde luego que hay mas atributos pero eso los veremos después.&lt;br /&gt;&lt;br /&gt;Una vez definido lo que tenemos que hacer pasaremos a recordar como estaba configurado el proyecto.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S43dmSabl0I/AAAAAAAAALQ/RxsIDAnAh0A/s1600-h/proyecto.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 312px; height: 259px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S43dmSabl0I/AAAAAAAAALQ/RxsIDAnAh0A/s320/proyecto.JPG" alt="" id="BLOGGER_PHOTO_ID_5444251174408263490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Paso 1. Crear la clase que va convertor nuestra modelo o objetos Json's con la ayuda de gson(API), para esto crearemos un paquete llamado json en org.aplication.json y otro org.aplication.datagrid&lt;br /&gt;&lt;br /&gt;Creamos un Bean llamado DataGridUsuario dentro de org.aplication.datagrid&lt;br /&gt;&lt;br /&gt;------------------------------------------------------&lt;br /&gt;package org.aplication.datagrid;&lt;br /&gt;&lt;br /&gt;import java.util.List;&lt;br /&gt;import org.aplication.client.modelo.Usuario;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author mew&lt;br /&gt;*/&lt;br /&gt;public class DataGridUsuario {&lt;br /&gt;&lt;br /&gt;private String totalCount;&lt;br /&gt;private List&lt;usuario&gt; data;&lt;br /&gt;&lt;br /&gt;public List&lt;usuario&gt; getData() {&lt;br /&gt;return data;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setData(List&lt;usuario&gt; data) {&lt;br /&gt;this.data = data;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getTotalCount() {&lt;br /&gt;return totalCount;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setTotalCount(String totalCount) {&lt;br /&gt;this.totalCount = totalCount;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------&lt;br /&gt;&lt;br /&gt;Creamos la clase JsonUsuario, debemos de agregar la libreria de gson al proyecto.&lt;br /&gt;&lt;br /&gt;-----------------------------------------------------&lt;br /&gt;package org.aplication.json;&lt;br /&gt;&lt;br /&gt;import com.google.gson.Gson;&lt;br /&gt;import org.aplication.datagrid.DataGridUsuario;&lt;br /&gt;import org.aplication.server.servicio.GWTServiceUserImpl;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author mew&lt;br /&gt;*/&lt;br /&gt;public class JsonUsuario {&lt;br /&gt;&lt;br /&gt;public String getJsonDataGridUsuarios(){&lt;br /&gt;String jsonOutput ="";&lt;br /&gt;&lt;br /&gt;if(GWTServiceUserImpl.usuarios!=null){&lt;br /&gt;DataGridUsuario dataGridUsuario = new DataGridUsuario();&lt;br /&gt;dataGridUsuario.setTotalCount(GWTServiceUserImpl.usuarios.size()+"");&lt;br /&gt;dataGridUsuario.setData(GWTServiceUserImpl.usuarios);&lt;br /&gt;Gson gson = new Gson();&lt;br /&gt;jsonOutput = gson.toJson(dataGridUsuario);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;return jsonOutput;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;---------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Paso 2. Crear un jsp que va a servir como especia de Web Service entre nuetra aplicación y el cliente (Grid).&lt;br /&gt;&lt;br /&gt;Por nombre tendra: dataJson.jsp&lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;&lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt;&lt;br /&gt;&lt;%@page import="org.aplication.json.JsonUsuario" %&gt;&lt;br /&gt;&lt;% JsonUsuario jsonUsuario = new JsonUsuario(); out.clear(); out.print(jsonUsuario.getJsonDataGridUsuarios()); %&gt;&lt;br /&gt;------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;El proyecto hasta aqui debe estar parecido a este:&lt;br /&gt;&lt;br /&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S43yaystTcI/AAAAAAAAALY/GYXYU-c1uEg/s1600-h/Captura.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 221px; height: 320px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S43yaystTcI/AAAAAAAAALY/GYXYU-c1uEg/s320/Captura.JPG" alt="" id="BLOGGER_PHOTO_ID_5444274066660609474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;usuario&gt;&lt;usuario&gt;&lt;usuario&gt;&lt;br /&gt;Paso 3. Probar la aplicación: Den run a proyecto&lt;br /&gt;&lt;br /&gt;Creamos un par de usuarios.&lt;br /&gt;&lt;br /&gt;Ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;/usuario&gt;Usuario 1:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S43zvyn2ezI/AAAAAAAAALo/Akj3vb-VRJE/s1600-h/Captura1.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 230px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/S43zvyn2ezI/AAAAAAAAALo/Akj3vb-VRJE/s320/Captura1.JPG" alt="" id="BLOGGER_PHOTO_ID_5444275526929120050" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S43zzrQXUGI/AAAAAAAAALw/0r_8H7-VhPA/s1600-h/Captura2.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 234px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/S43zzrQXUGI/AAAAAAAAALw/0r_8H7-VhPA/s320/Captura2.JPG" alt="" id="BLOGGER_PHOTO_ID_5444275593671037026" border="0" /&gt;&lt;/a&gt;Usuario 2:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S430gokkbRI/AAAAAAAAAMA/IG-OsoBeIKk/s1600-h/Captura3.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S430gokkbRI/AAAAAAAAAMA/IG-OsoBeIKk/s320/Captura3.JPG" alt="" id="BLOGGER_PHOTO_ID_5444276366044589330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S43zmXrZ73I/AAAAAAAAALg/EWaOevEeiOI/s1600-h/Captura4.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 234px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S43zmXrZ73I/AAAAAAAAALg/EWaOevEeiOI/s320/Captura4.JPG" alt="" id="BLOGGER_PHOTO_ID_5444275365077446514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Usuario N..................&lt;br /&gt;&lt;br /&gt;Para comprobar que el Json y el WebService responde bien lo probaremos antes de llamarlo con el grid:&lt;br /&gt;&lt;br /&gt;http://localhost:41846/WebGwtRcp/dataJson.jsp&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------&lt;br /&gt;{"totalCount":"5","data":[{"nombre":"pruena","apellido":"dsfsf","edad":10,"cve":1},{"nombre":"pruena","apellido":"dsfsf","edad":10,"cve":2},{"nombre":"pruena","apellido":"dsfsf","edad":10,"cve":3},{"nombre":"Nancy","apellido":"Mondragon","edad":25,"cve":4},{"nombre":"Pedro","apellido":"Perez","edad":12,"cve":5}]}&lt;br /&gt;----------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/S432TFazu1I/AAAAAAAAAMI/EDt-XoIDIio/s1600-h/Captura4.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 62px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/S432TFazu1I/AAAAAAAAAMI/EDt-XoIDIio/s320/Captura4.JPG" alt="" id="BLOGGER_PHOTO_ID_5444278332293364562" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Paso 4.&lt;/span&gt; Crear la GUI para el grid y el manejo de eventos sobre los datos del grid, como podemos notar nosotros no queremos mostrar quizas la cve del usuario, quizas solo querramos el nombre y apellido, cve!=password para este ejemplo la cve es una secuencia pero quizas en una aplicación mas en forma podria ser la pk de una tabla de la base de datos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Paso 5. CREACION DEL GRID DE GWT-EXT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bueno tenemos que reemplazar el codigo de estas clases con el codigo siguiente posteriromente explicare como funciona cada clase que ocupa el grid.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;org.aplication.client en este paquete reemplazar la clase MainEntryPoint por lo siguiente codigo:&lt;br /&gt;----------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;package org.aplication.client;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.core.client.EntryPoint;&lt;br /&gt;import com.google.gwt.user.client.ui.Button;&lt;br /&gt;import com.google.gwt.user.client.ui.RootPanel;&lt;br /&gt;import com.google.gwt.user.client.ui.Widget;&lt;br /&gt;import com.google.gwt.user.client.ui.ClickListener;&lt;br /&gt;import org.aplication.client.view.GuiUsuario;&lt;br /&gt;import com.gwtext.client.widgets.Window;&lt;br /&gt;import com.gwtext.client.data.*;&lt;br /&gt;import com.gwtext.client.widgets.Panel;&lt;br /&gt;import com.gwtext.client.widgets.grid.ColumnConfig;&lt;br /&gt;import com.gwtext.client.widgets.grid.ColumnModel;&lt;br /&gt;import com.gwtext.client.widgets.grid.GridPanel;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Main entry point.&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class MainEntryPoint implements EntryPoint {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;private Panel formPanel;&lt;br /&gt;private static GridPanel grid;&lt;br /&gt;private static Store store;&lt;br /&gt;private static ColumnModel columnModel;&lt;br /&gt;private static HttpProxy dataProxy;&lt;br /&gt;private static RecordDef recordDef;&lt;br /&gt;private static JsonReader reader;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Creates a new instance of MainEntryPoint&lt;br /&gt; */&lt;br /&gt;public MainEntryPoint() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * The entry point method, called automatically by loading a module&lt;br /&gt; * that declares an implementing class as an entry-point&lt;br /&gt; */&lt;br /&gt;public void onModuleLoad() {&lt;br /&gt;&lt;br /&gt;    final Button button = new Button("New User");&lt;br /&gt;&lt;br /&gt;    button.addClickListener(new ClickListener() {&lt;br /&gt;&lt;br /&gt;        public void onClick(Widget w) {&lt;br /&gt;            GuiUsuario guiUsuario = new GuiUsuario();&lt;br /&gt;            Window winUsu = guiUsuario.getWindow();&lt;br /&gt;            winUsu.show();&lt;br /&gt;        }&lt;br /&gt;    });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    RootPanel.get().add(getFormPanel());&lt;br /&gt;    RootPanel.get().add(button);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Panel getFormPanel() {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    formPanel = new Panel();&lt;br /&gt;    formPanel.setId("idGrid");&lt;br /&gt;    formPanel.setFrame(false);&lt;br /&gt;    formPanel.setBorder(false);&lt;br /&gt;    formPanel.setTitle("Usuario");&lt;br /&gt;&lt;br /&gt;    dataProxy = new HttpProxy("dataJson.jsp");&lt;br /&gt;    recordDef = new RecordDef(new FieldDef[]{&lt;br /&gt;                new StringFieldDef("nombre", "nombre"),&lt;br /&gt;                new StringFieldDef("apellido", "apellido"),&lt;br /&gt;                new StringFieldDef("edad", "edad"),&lt;br /&gt;                new IntegerFieldDef("cve", "cve")&lt;br /&gt;            });&lt;br /&gt;    reader = new JsonReader(recordDef);&lt;br /&gt;    reader.setRoot("data");&lt;br /&gt;    reader.setTotalProperty("totalCount");&lt;br /&gt;&lt;br /&gt;    store = new Store(dataProxy, reader, true);&lt;br /&gt;    store.load();&lt;br /&gt;&lt;br /&gt;    columnModel = new ColumnModel(new ColumnConfig[]{&lt;br /&gt;                new ColumnConfig("nombre", "nombre", 100, true),&lt;br /&gt;                new ColumnConfig("apellido", "apellido", 75, true)&lt;br /&gt;            });&lt;br /&gt;&lt;br /&gt;    grid = new GridPanel();&lt;br /&gt;    grid.setStore(store);&lt;br /&gt;    grid.setColumnModel(columnModel);&lt;br /&gt;    grid.setWidth(375);&lt;br /&gt;    grid.setHeight(350);&lt;br /&gt;    grid.setTitle("Json Grid");&lt;br /&gt;    grid.setFrame(true);&lt;br /&gt;    grid.stripeRows(true);&lt;br /&gt;    grid.setIconCls("grid-icon");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    //grid.reconfigure(store, columnModel);&lt;br /&gt;&lt;br /&gt;    formPanel.add(grid);&lt;br /&gt;&lt;br /&gt;    return formPanel;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void reloadDatosGrid(){&lt;br /&gt;    reader = new JsonReader(recordDef);&lt;br /&gt;    reader.setRoot("data");&lt;br /&gt;    reader.setTotalProperty("totalCount");&lt;br /&gt;&lt;br /&gt;    store = new Store(dataProxy, reader, true);&lt;br /&gt;    store.load();&lt;br /&gt;    grid.reconfigure(store,columnModel);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----------------------------------------------------&lt;br /&gt;En el paquete org.aplication.client.view reeplazar la clase GuiUsuario por lo siguiente:&lt;br /&gt;&lt;usuario&gt;&lt;usuario&gt;&lt;usuario&gt;&lt;br /&gt;----------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* To change this template, choose Tools | Templates&lt;br /&gt;* and open the template in the editor.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package org.aplication.client.view;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.core.client.GWT;&lt;br /&gt;import com.google.gwt.user.client.rpc.AsyncCallback;&lt;br /&gt;import com.google.gwt.user.client.rpc.ServiceDefTarget;&lt;br /&gt;import com.gwtext.client.core.EventObject;&lt;br /&gt;import com.gwtext.client.core.Position;&lt;br /&gt;import com.gwtext.client.widgets.Button;&lt;br /&gt;import com.gwtext.client.widgets.MessageBox;&lt;br /&gt;import com.gwtext.client.widgets.Window;&lt;br /&gt;import com.gwtext.client.widgets.event.ButtonListenerAdapter;&lt;br /&gt;import com.gwtext.client.widgets.form.FormPanel;&lt;br /&gt;import com.gwtext.client.widgets.form.TextField;&lt;br /&gt;import org.aplication.client.MainEntryPoint;&lt;br /&gt;import org.aplication.client.modelo.Usuario;&lt;br /&gt;import org.aplication.client.servicio.GWTServiceUser;&lt;br /&gt;import org.aplication.client.servicio.GWTServiceUserAsync;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class GuiUsuario {&lt;br /&gt;&lt;br /&gt;  private Usuario usuario;&lt;br /&gt;  private Window window;&lt;br /&gt;  private FormPanel formPanel;&lt;br /&gt;  private TextField nombre;&lt;br /&gt;  private TextField apellido;&lt;br /&gt;  private TextField edad;&lt;br /&gt;  private static GWTServiceUserAsync service;&lt;br /&gt;&lt;br /&gt;  public FormPanel getFormPanel() {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      formPanel = new FormPanel();&lt;br /&gt;      formPanel.setFrame(true);&lt;br /&gt;      formPanel.setTitle("Usuario");&lt;br /&gt;      nombre = new TextField("Nombre", "nombre", 230);&lt;br /&gt;      apellido = new TextField("Apellido", "apellido", 230);&lt;br /&gt;      edad = new TextField("Edad", "edad", 230);&lt;br /&gt;      formPanel.add(nombre);&lt;br /&gt;      formPanel.add(apellido);&lt;br /&gt;      formPanel.add(edad);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      return formPanel;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Usuario getUsuario() {&lt;br /&gt;      return usuario;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Window getWindow() {&lt;br /&gt;&lt;br /&gt;       window = new Window();&lt;br /&gt;       window.setTitle("Layout Window");&lt;br /&gt;       window.setClosable(true);&lt;br /&gt;       window.setWidth(600);&lt;br /&gt;       window.setHeight(350);&lt;br /&gt;       window.setPlain(true);&lt;br /&gt;       window.setCloseAction(Window.HIDE);&lt;br /&gt;       window.add(getFormPanel());&lt;br /&gt;&lt;br /&gt;       Button buttonNewUser = new Button("Nuevo Usuario");&lt;br /&gt;       buttonNewUser.addListener(new ButtonListenerAdapter(){&lt;br /&gt;&lt;br /&gt;          @Override&lt;br /&gt;          public void onClick(Button button, EventObject e) {&lt;br /&gt;            Usuario u = new Usuario();&lt;br /&gt;            u.setEdad(Integer.parseInt(edad.getText()));&lt;br /&gt;            u.setNombre(nombre.getText());&lt;br /&gt;            u.setApellido(apellido.getText());&lt;br /&gt;&lt;br /&gt;            insertaUsuario(u);&lt;br /&gt;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;       );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       window.setButtonAlign(Position.CENTER);&lt;br /&gt;       window.addButton(buttonNewUser);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      return window;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setUsuario(Usuario usuario) {&lt;br /&gt;      this.usuario = usuario;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public void insertaUsuario(Usuario usuario) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      // Create an asynchronous callback to handle the result.&lt;br /&gt;      final AsyncCallback callback = new AsyncCallback() {&lt;br /&gt;&lt;br /&gt;          public void onSuccess(Object result) {&lt;br /&gt;              String respuesta = (String) result;&lt;br /&gt;&lt;br /&gt;                  MessageBox.alert(respuesta);&lt;br /&gt;                  MainEntryPoint.reloadDatosGrid();&lt;br /&gt;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          public void onFailure(Throwable caught) {&lt;br /&gt;              MessageBox.alert("Error " + caught);&lt;br /&gt;          }&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;      getService().nuevoUsuario(usuario, callback);&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   public static GWTServiceUserAsync getService() {&lt;br /&gt;     service = (GWTServiceUserAsync) GWT.create(GWTServiceUser.class);&lt;br /&gt;      ServiceDefTarget endpoint = (ServiceDefTarget) service;&lt;br /&gt;      String moduleRelativeURL = GWT.getModuleBaseURL() + "servicio/gwtserviceuser";&lt;br /&gt;      endpoint.setServiceEntryPoint(moduleRelativeURL);&lt;br /&gt;      return service;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;font-family:lucida grande;" &gt;Paso final run al proyecto.&lt;br /&gt;&lt;br /&gt;---------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S5HX8Lz54xI/AAAAAAAAAMo/qO1bp1_wqcw/s1600-h/Captura.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 314px; height: 320px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/S5HX8Lz54xI/AAAAAAAAAMo/qO1bp1_wqcw/s320/Captura.JPG" alt="" id="BLOGGER_PHOTO_ID_5445370853430256402" border="0" /&gt;&lt;/a&gt;Podemos ver que la primera vez que que se llama al la clase MainEntryPoint hace una peticion a nuestro webservice (http://localhost:41846/WebGwtRcp/dataJson.jsp?_dc=1267849099045) y tiene un parametro que fue concatenado por new HttpProxy("dataJson.jsp"); es que quien hace la petición a nuestro jsp, pero como nuestra lista ( public static List&lt;usuario&gt; usuarios) de la clase GWTServiceUserImpl esta en null no responde con nada.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;usuario&gt;&lt;usuario&gt;&lt;usuario&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S5HZR0cv7II/AAAAAAAAAMw/3B1O4dSCbIY/s1600-h/Captura.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 190px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S5HZR0cv7II/AAAAAAAAAMw/3B1O4dSCbIY/s320/Captura.JPG" alt="" id="BLOGGER_PHOTO_ID_5445372324627868802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Cuando  damos click en en new user aparece nuesta GUI que crea los usuarios, llenamos los campos a damos la click en el boton usuario nuevo, notamos que aparece un letrero que dice que se a creado el usuario en la parte de atras se puede ver que el grid ya tiene el dato insertado.&lt;br /&gt;&lt;br /&gt;¿Como se logro esto?&lt;br /&gt;&lt;br /&gt;Respuesta 1. Con magia.&lt;br /&gt;Respuesta 2. La computara piensa.&lt;br /&gt;Respuesta 3. Quien sabe no me importa, mientras funcione.&lt;br /&gt;&lt;br /&gt;Si tu respuesta fue alguna de las anteriores hasta aqui termino la parte de mostrar los datos en el grid si no en la semana explicare paso a paso como funciona cada componente.&lt;br /&gt;&lt;br /&gt;Dedicado a mi princesita, porfavor perdoname por ser un moustruo, no fue mi intencion herirte, te amo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-4572748581911494774?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/4572748581911494774/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=4572748581911494774' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4572748581911494774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4572748581911494774'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/03/gwt-rcp-parte-ii-grid-gwt-ext.html' title='Gwt Rcp, parte II (Grid Gwt-Ext)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/S42nW-EvGII/AAAAAAAAALI/nN1WNmNj4dU/s72-c/grid.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6928152531028822667</id><published>2010-02-18T09:17:00.000-08:00</published><updated>2010-02-18T10:05:40.724-08:00</updated><title type='text'>Mi vida con VW Sedán (vocho)</title><content type='html'>Aquí en mi país en la siglo pasado y a principios de este la vw fabricaba el vw sedán conocido como "vocho", la verdad la mayoría de nosotros en México tenemos uno o tuvimos uno.&lt;br /&gt;&lt;br /&gt;Como me cambie de trabajo y no quería irme en camión porque aproximadamente es como 1hr desde mi casa cerca de C.U hasta el aeropuerto por donde trabajo, mi papa me hizo el grandioso favor de prestarme el &lt;a href="http://es.wikipedia.org/wiki/Ferdinand_Porsche"&gt;porscho &lt;/a&gt;así es como lo llamo de cariño es una combinación  de &lt;a href="http://es.wikipedia.org/wiki/Ferdinand_Porsche"&gt;porsche&lt;/a&gt; y vocho, según la historia Hitler encomendo la tarea de diseñar un automovil para los alemanes de clase media, las características fueron que no usara radiador ya que en tiempo de invierno los automóviles no funcionaban bien, la idea fue crear una turbina que enfriara el aceite del motor, grande idea, que corriera a unos 100Km/hr, que gastara poco combustible , lo diseño  &lt;a href="http://es.wikipedia.org/wiki/Ferdinand_Porsche"&gt;porsche&lt;/a&gt;&lt;br /&gt;en base a esas características.&lt;br /&gt;&lt;br /&gt;Todo estaba de maravilla hasta que derrepente el porscho empezó acelerarse como demonio, y el ruido era molesto, y sucedio lo peor, le dije a mi papa mejor voy a ahorrar para un coche mas decente porque ese vw sedán ya dio las ultimas (bueno en ese momento estaba ignorante en cuanto al manteamiento de los automóviles), mi papa de dijo es solo la válvula (bueno como este vw sedán es full injection), bueno esa pieza por lo que entediando sucsiona aire desde el filtro hasta la pieza que parece carburador pero no es, puesto que en este modelo quien se encarga de mandar la gasolina gasificada son los inyectores; solo ahorra y comprala cuesta como $ 1 300 aprox (MN), y comprale tambien llantas y ya queda, pero como todo buen hijo dije no ese vocho ya dio las ultimas, así que fui a ver los autos usados y ver sus precios, yo quería un ford ka, pero la verdad algo dentro de mi me hacia pensar, y si solo tengo que invertirle unos $ 3500 al vocho y funciona bien, pero decía mejor un coche un poco mas reciente, pero recorde todos los momentos que he vivido tan feliz con ese automóvil:&lt;br /&gt;&lt;br /&gt;- Nos fuimos a Oaxaca, estuvo padre ese viaje (Era otro vocho no el que tengo actualmente).&lt;br /&gt;-Mi padre lo han llevado a Guerrero aproximadamente como 40 veses desde que lo compramos y no había fallado.&lt;br /&gt;- Tantas platicas con mi Papa y Mama en los viajes.&lt;br /&gt;- Fuimos a Cuernavaca (4 veses) y todo de maravilla aunque me perdí en el cerro del tepozteco en tepoztlán, y mi Mama me andaba buscando hasta con los policías.&lt;br /&gt;- A funcionado como camioneta y taxi para los amigos.&lt;br /&gt;- Fue el primer coche en que bese a mi novia&lt;br /&gt;- Fue el primer coche que tuve que mandar a reparar después de un choque pero quedo bien.&lt;br /&gt;- Siempre tiene cara de alegre.&lt;br /&gt;- Siempre hay alguien que te platica alguna experiencia con su vocho al lugar donde vallas.&lt;br /&gt;- Algunos los odian pero alguna vez se han subido a alguno quizás no sea el coche mas cómodo del mundo, ni el mas seguro, pero si conduces con precaución y respetando los limites de velocidad es seguro hasta para viajar  (aunque no tengan mucho velocidad en subidas, pero si potencia).&lt;br /&gt;-El primer coche que aprendí a manejar desde los 12 0 14 años.&lt;br /&gt;-Voy con el a un pueblito cerca del volcán que se llama la peñuela, cuando me siento feliz o trizte, siempre ha estado a mi lado.&lt;br /&gt;-Voy a la casa de novia a Ixtlahuaca.&lt;br /&gt;&lt;br /&gt;Por todo esto y mas no la cambiaría por nada, espero y me dure largo tiempo, decidí invertirle como me dijo mi Papa y quedo de maravilla.&lt;br /&gt;&lt;br /&gt;Gracias vocho por estar conmigo.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/f4EayX0Kg8Y&amp;amp;hl=es_ES&amp;amp;fs=1&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/f4EayX0Kg8Y&amp;amp;hl=es_ES&amp;amp;fs=1&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-6928152531028822667?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6928152531028822667/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6928152531028822667' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6928152531028822667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6928152531028822667'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/02/mi-vida-con-vw-sedan-vocho.html' title='Mi vida con VW Sedán (vocho)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6805728209986065655</id><published>2010-02-17T15:40:00.000-08:00</published><updated>2010-02-17T15:55:04.432-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='List'/><category scheme='http://www.blogger.com/atom/ns#' term='Collections.sort'/><title type='text'>Ordenar elementos de List en java con  Collections.sort</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Todos alguna vez nos topados con ordenar elementos de una List de java (java.util.List) yo se que muchos van a decir que se podria hacer con la base de datos agregando un order by campo_de_tbl, pero muchas aplicaciones no lo requieren y para lograr esto  ocuparemos java.util.Comparator.&lt;br /&gt;&lt;br /&gt;Paso 1. Crear un bean, para fines prácticos todos los atributos serán String :&lt;br /&gt;&lt;br /&gt;public class Concepto {&lt;br /&gt;   &lt;br /&gt;    private String id;&lt;br /&gt;    private String cve;&lt;br /&gt;    private String descripcion;&lt;br /&gt;    private String valor;&lt;br /&gt;       &lt;br /&gt;   &lt;br /&gt;    public String getValor() {&lt;br /&gt;        return valor;&lt;br /&gt;    }&lt;br /&gt;    public void setValor(String valor) {&lt;br /&gt;        this.valor = valor;&lt;br /&gt;    }&lt;br /&gt;    public String getId() {&lt;br /&gt;        return id;&lt;br /&gt;    }&lt;br /&gt;    public void setId(String id) {&lt;br /&gt;        this.id = id;&lt;br /&gt;    }&lt;br /&gt;    public String getCve() {&lt;br /&gt;        return cve;&lt;br /&gt;    }&lt;br /&gt;    public void setCve(String cve) {&lt;br /&gt;        this.cve = cve;&lt;br /&gt;    }&lt;br /&gt;    public String getDescripcion() {&lt;br /&gt;        return descripcion;&lt;br /&gt;    }&lt;br /&gt;    public void setDescripcion(String descripcion) {&lt;br /&gt;        this.descripcion = descripcion;&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Supongamos que queremos ordenas nuestros datos de nuestra List atravez del atributo cve.&lt;br /&gt;&lt;br /&gt;Paso 2. Crear la clase que ConceptoComparator  que implementa la interfaz Comparator&lt;br /&gt;&lt;br /&gt;import java.util.Comparator;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class ConceptoComparator implements Comparator{&lt;br /&gt;&lt;br /&gt;    public int compare(Object arg0, Object arg1) {&lt;br /&gt;        Concepto conA = (Concepto) arg0;&lt;br /&gt;        Concepto conB=(Concepto)arg1;&lt;br /&gt;       &lt;br /&gt;        Long cveConA = Long.parseLong(conA.getCve());&lt;br /&gt;        Long cveConB = Long.parseLong(conB.getCve());&lt;br /&gt;       &lt;br /&gt;        if(cveConA &lt; cveConB)&lt;br /&gt;            return -1;&lt;br /&gt;   &lt;br /&gt;        else&lt;br /&gt;            if (cveConA &gt; cveConB)&lt;br /&gt;                return 1;&lt;br /&gt;&lt;br /&gt;       &lt;br /&gt;        return 0;&lt;br /&gt;        // TODO Auto-generated method stub&lt;br /&gt;       &lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;java.util.Comparator int compare(T a, T b) compara dos objetos y proporciona un valor negativo si a va antes que b, cero si se consideran idénticos en el orden de clasificación, y un valor positivo si a va después de b.&lt;br /&gt;&lt;br /&gt;Paso 3 : llamar al metodo Collections.sort(...)&lt;br /&gt;&lt;br /&gt;List&lt;concepto&gt; conceptos = new ArrayList&lt;concepto&gt;();&lt;br /&gt;       &lt;br /&gt;        Concepto con1 = new Concepto();&lt;br /&gt;        con1.setCve("10017");&lt;br /&gt;       &lt;br /&gt;        Concepto con2 = new Concepto();&lt;br /&gt;        con2.setCve("20001");&lt;br /&gt;       &lt;br /&gt;        Concepto con3 = new Concepto();&lt;br /&gt;        con3.setCve("10001");&lt;br /&gt;       &lt;br /&gt;        conceptos.add(con1);&lt;br /&gt;        conceptos.add(con2);&lt;br /&gt;        conceptos.add(con3);&lt;br /&gt;        System.out.println("sin ordenar ");&lt;br /&gt;    &lt;br /&gt;        for(Concepto con : conceptos){&lt;br /&gt;            System.out.println(" "+con.getCve());&lt;br /&gt;         }&lt;br /&gt;       &lt;br /&gt;     Collections.sort(conceptos, new ConceptoComparator());&lt;br /&gt;    &lt;br /&gt;     System.out.println("ordenados ");&lt;br /&gt;     for(Concepto con : conceptos){&lt;br /&gt;        System.out.println(" "+con.getCve());&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;el resultado sera algo como esto:&lt;br /&gt;sin ordenar&lt;br /&gt; 10017&lt;br /&gt; 20001&lt;br /&gt; 10001&lt;br /&gt;ordenados&lt;br /&gt; 10001&lt;br /&gt; 10017&lt;br /&gt; 20001&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-6805728209986065655?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6805728209986065655/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6805728209986065655' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6805728209986065655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6805728209986065655'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/02/ordenar-elementos-de-list-en-java-con.html' title='Ordenar elementos de List en java con  Collections.sort'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2995054792168095175</id><published>2010-02-02T09:53:00.000-08:00</published><updated>2010-02-02T10:00:31.060-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MessageDigest java'/><category scheme='http://www.blogger.com/atom/ns#' term='md5'/><title type='text'>Md5 en java (java.security.MessageDigest)</title><content type='html'>Hola aquí pongo un código que estaba buscando hace tiempo ocupando la API (java.security.MessageDigest) de java para encriptar una cadena.&lt;br /&gt;&lt;br /&gt;----------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import java.security.MessageDigest;&lt;br /&gt;import java.security.NoSuchAlgorithmException;&lt;br /&gt;&lt;br /&gt;public class Md5 {&lt;br /&gt;   &lt;br /&gt;    private MessageDigest alg;&lt;br /&gt;    private String md5;&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    /**&lt;br /&gt;     *&lt;br /&gt;     * @param mensaje&lt;br /&gt;     * @throws NoSuchAlgorithmException&lt;br /&gt;     */&lt;br /&gt;   &lt;br /&gt;    public void md5(String mensaje) throws NoSuchAlgorithmException{&lt;br /&gt;        alg = MessageDigest.getInstance("MD5");//implementa el algoritmo especificado&lt;br /&gt;        byte[] bytes = mensaje.getBytes();&lt;br /&gt;        computeDigest(bytes);&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    public String getMd5() {&lt;br /&gt;        return md5;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public void setMd5(String md5) {&lt;br /&gt;        this.md5 = md5;&lt;br /&gt;    }&lt;br /&gt;/**&lt;br /&gt; * Realiza la digestion del algoritmo MD5&lt;br /&gt; * @param bytes&lt;br /&gt; */&lt;br /&gt;&lt;br /&gt;    public void computeDigest(byte[] bytes){&lt;br /&gt;        String cad="";&lt;br /&gt;        alg.reset();//restaura el resumen&lt;br /&gt;        alg.update(bytes);//actualiza el resumen, empleando los bytes especificados&lt;br /&gt;        byte[] hash = alg.digest();//completa el calculo del codigo de dispersivo&lt;br /&gt;        for(int i = 0; i &lt; hash.length;i++){&lt;br /&gt;            int v = hash[i] &amp;amp; 0xFF;&lt;br /&gt;            if(v &lt; 16) cad+="0";&lt;br /&gt;            cad+=Integer.toString(v,16).toUpperCase()+"";                   &lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        this.setMd5(cad);&lt;br /&gt;    }&lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;----------------------------------------------------&lt;br /&gt;&lt;br /&gt;La manera de ocupar la clase seria la siguiente:&lt;br /&gt;&lt;br /&gt;Md5 md5 = new Md5();&lt;br /&gt;        md5.md5("Hola mundo");&lt;br /&gt;        String md5String = md5.getMd5();  &lt;br /&gt;        System.out.print(" md5 "+md5String);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2995054792168095175?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2995054792168095175/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2995054792168095175' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2995054792168095175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2995054792168095175'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/02/md5-en-java-javasecuritymessagedigest.html' title='Md5 en java (java.security.MessageDigest)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-3157059425623304651</id><published>2010-02-01T09:46:00.000-08:00</published><updated>2010-03-03T07:57:04.130-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT NETBEANS JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='RCP GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='GWTEXT'/><title type='text'>RCP en Gwt (Netbeans gwt-ext)</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Para esta entrada es necesario que tengan configurado previamente un proyecto con gwt en Netbeans y también configurado en plugin de gwt-ext (jar).&lt;br /&gt;&lt;br /&gt;Primero me gustaría hablar de las ventajas de Gwt y después hablar de las desventajas.&lt;br /&gt;&lt;br /&gt;- Todo lo programas en &lt;a href="http://es.wikipedia.org/wiki/Front-end_y_back-end"&gt;Back End&lt;/a&gt;, lo que quiere decir que no tienes que aprender forzosamente html, css, javaScript solo tienes que saber java, el &lt;a href="http://es.wikipedia.org/wiki/Front-end_y_back-end"&gt;Front End&lt;/a&gt; lo programas en Back End aunque suene extraño asi es, el compilador de gwt se encarga de generar un codigo optimo en js para tu aplicación.&lt;br /&gt;&lt;br /&gt;- La manera de hacer peticiones asíncronas se hacen de manera rápida por medio de RCP.&lt;br /&gt;&lt;br /&gt;- La curva de aprendizaje es rápida.&lt;br /&gt;&lt;br /&gt;- Las aplicaciones funcionan en la mayoría de los navegadores (IE,Firefox).&lt;br /&gt;&lt;br /&gt;Bueno después de esta breve introducción vamos a crear una aplicación que de administre usuarios un &lt;a href="http://es.wikipedia.org/wiki/CRUD"&gt;CRUD&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Paso 1: Como siempre crear un bean que es parte del modelo para este ejemplo se llamara el clásico usuario, es muy importante que lo coloquen en el  paquete donde van a poner su Gwt Modulo.&lt;br /&gt;&lt;h1 id="firstHeading" class="firstHeading"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2cs2ekxsMI/AAAAAAAAAJ4/KJgDJF2fNwY/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2cs2ekxsMI/AAAAAAAAAJ4/KJgDJF2fNwY/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5433360789877665986" border="0" /&gt;&lt;/a&gt;&lt;/h1&gt;Para nuestro ejemplo tendremos que crear nuestro paquete del modelo y view al nivel de: org.aplication.client donde va todo en codigo que se convierte en Front End.&lt;br /&gt;&lt;br /&gt;Despues creamos un clase de llamada Usuario dentro del paquete org.aplication.client.modelo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2cuAwNnniI/AAAAAAAAAKA/5lUM_tnYYY8/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2cuAwNnniI/AAAAAAAAAKA/5lUM_tnYYY8/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5433362065922694690" border="0" /&gt;&lt;/a&gt;Creamos una clase llamada Usuario.&lt;br /&gt;&lt;br /&gt;package org.aplication.client.modelo;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.user.client.rpc.IsSerializable;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class Usuario implements IsSerializable{&lt;br /&gt;&lt;br /&gt;private String nombre;&lt;br /&gt;private String apellido;&lt;br /&gt;private int edad;&lt;br /&gt;private int cve;&lt;br /&gt;&lt;br /&gt;public String getApellido() {&lt;br /&gt;return apellido;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setApellido(String apellido) {&lt;br /&gt;this.apellido = apellido;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getCve() {&lt;br /&gt;return cve;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setCve(int cve) {&lt;br /&gt;this.cve = cve;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public int getEdad() {&lt;br /&gt;return edad;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setEdad(int edad) {&lt;br /&gt;this.edad = edad;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getNombre() {&lt;br /&gt;return nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setNombre(String nombre) {&lt;br /&gt;this.nombre = nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Esta clase implementa IsSerializable de gwt que es la que encargara de serializar nuestra clase y permite la comunicación entre en cliente y el servidor.&lt;br /&gt;&lt;br /&gt;Paso 2. Creamos un paquete llamado view (org.aplication.client.view) y una clase llamada GuiUsuario, el diagrama de clase Uml para esta clase sera mas o menos como este aunque despues iremos agregando mas metodos o clases.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S2c5qAfHpAI/AAAAAAAAAKI/atFp3WNwUYc/s1600-h/Class+Diagram+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 177px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/S2c5qAfHpAI/AAAAAAAAAKI/atFp3WNwUYc/s320/Class+Diagram+1.png" alt="" id="BLOGGER_PHOTO_ID_5433374869293605890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bueno primero crearemos nuestro formulario y despues nuestro rcp.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package org.aplication.client.view;&lt;br /&gt;&lt;br /&gt;import com.gwtext.client.core.EventObject;&lt;br /&gt;import com.gwtext.client.core.Position;&lt;br /&gt;import com.gwtext.client.widgets.Button;&lt;br /&gt;import com.gwtext.client.widgets.MessageBox;&lt;br /&gt;import com.gwtext.client.widgets.Window;&lt;br /&gt;import com.gwtext.client.widgets.event.ButtonListenerAdapter;&lt;br /&gt;import com.gwtext.client.widgets.form.FormPanel;&lt;br /&gt;import com.gwtext.client.widgets.form.TextField;&lt;br /&gt;import org.aplication.client.modelo.Usuario;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class GuiUsuario {&lt;br /&gt;&lt;br /&gt;private Usuario usuario;&lt;br /&gt;private Window window;&lt;br /&gt;private FormPanel formPanel;&lt;br /&gt;private TextField nombre;&lt;br /&gt;private TextField apellido;&lt;br /&gt;private TextField edad;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt; public FormPanel getFormPanel() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;formPanel = new FormPanel();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;formPanel.setFrame(true);&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;formPanel.setTitle("Usuario");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;nombre = new TextField("Nombre", "nombre", 230);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;apellido = new TextField("Apellido", "apellido", 230);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;edad = new TextField("Edad", "edad", 230);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;        formPanel.add(nombre);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;formPanel.add(apellido);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;formPanel.add(edad);&lt;/span&gt;   &lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;br /&gt;return formPanel;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public Usuario getUsuario() {&lt;br /&gt;return usuario;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color: rgb(255, 153, 0); font-weight: bold;"&gt;    &lt;span style="color: rgb(255, 0, 0);"&gt;public Window getWindow() {&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;         window = new Window();&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;window.setTitle("Layout Window");&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;window.setClosable(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;window.setWidth(600);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;window.setHeight(350);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;         window.setPlain(true);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;window.setCloseAction(Window.HIDE);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;window.add(getFormPanel());&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Button buttonNewUser = new Button("Nuevo Usuario");&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;         buttonNewUser.addListener(new ButtonListenerAdapter(){&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;@Override&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            public void onClick(Button button, EventObject e) {&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;       &lt;br /&gt;&lt;br /&gt;MessageBox.alert("prueba de evento");&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;   &lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;  &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;         }&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;         );&lt;/span&gt;   &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;         window.setButtonAlign(Position.CENTER);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;window.addButton(buttonNewUser);&lt;/span&gt;    &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;        return window;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public void setUsuario(Usuario usuario) {&lt;br /&gt;this.usuario = usuario;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;El metodo &lt;span style="color: rgb(255, 153, 0); font-weight: bold;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;getWindow()  se encarga de crear la ventana y tambien de crear el &lt;/span&gt;&lt;/span&gt;FormPanel por medio del metodo &lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;getFormPanel(), despues solo hace falta llamar a nuestra Gui desde el EntryPoint que sera la clase MainEntryPoint que esta en el paquete org.aplication.client.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt; package org.aplication.client;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.core.client.EntryPoint;&lt;br /&gt;import com.google.gwt.user.client.ui.Button;&lt;br /&gt;import com.google.gwt.user.client.ui.RootPanel;&lt;br /&gt;import com.google.gwt.user.client.ui.Widget;&lt;br /&gt;import com.google.gwt.user.client.ui.ClickListener;&lt;br /&gt;import com.gwtext.client.widgets.Window;&lt;br /&gt;import org.aplication.client.view.GuiUsuario;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Main entry point.&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class MainEntryPoint implements EntryPoint {&lt;br /&gt;/**&lt;br /&gt;* Creates a new instance of MainEntryPoint&lt;br /&gt;*/&lt;br /&gt;public MainEntryPoint() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* The entry point method, called automatically by loading a module&lt;br /&gt;* that declares an implementing class as an entry-point&lt;br /&gt;*/&lt;br /&gt;public void onModuleLoad() {&lt;br /&gt;&lt;br /&gt;final Button button = new Button("Click me!");&lt;br /&gt;&lt;br /&gt;button.addClickListener(new ClickListener(){&lt;br /&gt;    public void onClick(Widget w) {&lt;br /&gt;        GuiUsuario guiUsuario = new GuiUsuario();&lt;br /&gt;        Window winUsu = guiUsuario.getWindow();&lt;br /&gt;        winUsu.show();&lt;br /&gt;    }&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;RootPanel.get().add(button);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;winUsu.show();&lt;/span&gt;&lt;/span&gt; Este metodo de la clase Window hace que la ventana se visualize en el navegador del cliente.&lt;br /&gt;&lt;br /&gt;Depues damos run a proyecto y deberiamos tener algo como esto.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/S2dbGiB3AqI/AAAAAAAAAKQ/Qu-e0q2Izg8/s1600-h/Pantallazo-3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/S2dbGiB3AqI/AAAAAAAAAKQ/Qu-e0q2Izg8/s320/Pantallazo-3.png" alt="" id="BLOGGER_PHOTO_ID_5433411643217740450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Paso 3. Crear el RCP damos click derecho en new / other depues aparecera la opcion de gwt y una lista donde esta gwtrcp damos click y despues nos pedira en nombre del servicio en paquete donde lo pondremos.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/S2dhWu0Xc3I/AAAAAAAAAKY/v07TrkkH5r0/s1600-h/Pantallazo-5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/S2dhWu0Xc3I/AAAAAAAAAKY/v07TrkkH5r0/s320/Pantallazo-5.png" alt="" id="BLOGGER_PHOTO_ID_5433418518598480754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Creación del servio: Lo llamaremos GWTServiceUser y estará dentro del paquete org.aplication.client.servicio&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2dhwRYpurI/AAAAAAAAAKg/lSKdYSsqclM/s1600-h/Pantallazo-6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2dhwRYpurI/AAAAAAAAAKg/lSKdYSsqclM/s320/Pantallazo-6.png" alt="" id="BLOGGER_PHOTO_ID_5433418957374208690" border="0" /&gt;&lt;/a&gt;Después tendremos una estructura como la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2disLHy76I/AAAAAAAAAKo/JOO9njdmLQ8/s1600-h/Pantallazo-7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2disLHy76I/AAAAAAAAAKo/JOO9njdmLQ8/s320/Pantallazo-7.png" alt="" id="BLOGGER_PHOTO_ID_5433419986485047202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Un rcp de gwt necesita de 3 clases principales y un mapeo en el web.xml que ya hace por defecto el ayudante de netbeans.&lt;br /&gt;&lt;br /&gt;dentro del paquete org.aplication.client.servicio&lt;br /&gt;- interface GWTServiceUserAsync&lt;br /&gt;-interface GWTServiceUser&lt;br /&gt;y del lado del servidor en el paquete org.aplication.server.servicio esta la clase:&lt;br /&gt;-class GWTServiceUserImpl&lt;br /&gt;&lt;br /&gt;El diagrama de clases para la creación de usuarios desde el cliente al servidor es la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S2dngz75kgI/AAAAAAAAAKw/XafrTesDdAg/s1600-h/Class+Diagram+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 236px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S2dngz75kgI/AAAAAAAAAKw/XafrTesDdAg/s320/Class+Diagram+1.png" alt="" id="BLOGGER_PHOTO_ID_5433425288840712706" border="0" /&gt;&lt;/a&gt; El código para cada clase es el siguiente:&lt;br /&gt;&lt;br /&gt;package org.aplication.client.servicio;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.user.client.rpc.RemoteService;&lt;br /&gt;import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;&lt;br /&gt;import org.aplication.client.modelo.Usuario;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;@RemoteServiceRelativePath("servicio/gwtserviceuser")&lt;br /&gt;public interface GWTServiceUser extends RemoteService {&lt;br /&gt;  public String nuevoUsuario(Usuario usuario);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;---------------&lt;br /&gt;&lt;br /&gt;package org.aplication.client.servicio;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.user.client.rpc.AsyncCallback;&lt;br /&gt;import org.aplication.client.modelo.Usuario;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public interface GWTServiceUserAsync {&lt;br /&gt;  public void nuevoUsuario(Usuario usuario, AsyncCallback callback);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;--------------------------------------&lt;br /&gt;&lt;br /&gt;package org.aplication.server.servicio;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.user.server.rpc.RemoteServiceServlet;&lt;br /&gt;&lt;br /&gt;import java.util.AbstractList;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;import org.aplication.client.modelo.Usuario;&lt;br /&gt;import org.aplication.client.servicio.GWTServiceUser;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class GWTServiceUserImpl extends RemoteServiceServlet implements GWTServiceUser {&lt;br /&gt;&lt;br /&gt;  private static List&lt;usuario&gt; usuarios = null;&lt;br /&gt;  private static int contCve = 0;&lt;br /&gt;&lt;br /&gt;  public String nuevoUsuario(Usuario usuario) {&lt;br /&gt;      contCve++;&lt;br /&gt;      usuario.setCve(contCve);&lt;br /&gt;&lt;br /&gt;      if(usuarios==null){&lt;br /&gt;&lt;br /&gt;          usuarios = new ArrayList&lt;usuario&gt;();&lt;br /&gt;          usuarios.add(usuario);&lt;br /&gt;&lt;br /&gt;      }else&lt;br /&gt;          usuarios.add(usuario);&lt;br /&gt;&lt;br /&gt;      for(Usuario u:usuarios){&lt;br /&gt;          System.out.println("usuario "+u.getNombre());&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      return "Se ha creado el usuario";&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package org.aplication.client.view;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.core.client.GWT;&lt;br /&gt;import com.google.gwt.user.client.rpc.AsyncCallback;&lt;br /&gt;import com.google.gwt.user.client.rpc.ServiceDefTarget;&lt;br /&gt;import com.gwtext.client.core.EventObject;&lt;br /&gt;import com.gwtext.client.core.Position;&lt;br /&gt;import com.gwtext.client.widgets.Button;&lt;br /&gt;import com.gwtext.client.widgets.MessageBox;&lt;br /&gt;import com.gwtext.client.widgets.Window;&lt;br /&gt;import com.gwtext.client.widgets.event.ButtonListenerAdapter;&lt;br /&gt;import com.gwtext.client.widgets.form.FormPanel;&lt;br /&gt;import com.gwtext.client.widgets.form.TextField;&lt;br /&gt;import org.aplication.client.modelo.Usuario;&lt;br /&gt;import org.aplication.client.servicio.GWTServiceUser;&lt;br /&gt;import org.aplication.client.servicio.GWTServiceUserAsync;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class GuiUsuario {&lt;br /&gt;&lt;br /&gt;  private Usuario usuario;&lt;br /&gt;  private Window window;&lt;br /&gt;  private FormPanel formPanel;&lt;br /&gt;  private TextField nombre;&lt;br /&gt;  private TextField apellido;&lt;br /&gt;  private TextField edad;&lt;br /&gt;  private static GWTServiceUserAsync service;&lt;br /&gt;&lt;br /&gt;  public FormPanel getFormPanel() {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      formPanel = new FormPanel();&lt;br /&gt;      formPanel.setFrame(true);&lt;br /&gt;      formPanel.setTitle("Usuario");&lt;br /&gt;      nombre = new TextField("Nombre", "nombre", 230);&lt;br /&gt;      apellido = new TextField("Apellido", "apellido", 230);&lt;br /&gt;      edad = new TextField("Edad", "edad", 230);&lt;br /&gt;      formPanel.add(nombre);&lt;br /&gt;      formPanel.add(apellido);&lt;br /&gt;      formPanel.add(edad);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      return formPanel;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Usuario getUsuario() {&lt;br /&gt;      return usuario;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Window getWindow() {&lt;br /&gt;&lt;br /&gt;       window = new Window();&lt;br /&gt;       window.setTitle("Layout Window");&lt;br /&gt;       window.setClosable(true);&lt;br /&gt;       window.setWidth(600);&lt;br /&gt;       window.setHeight(350);&lt;br /&gt;       window.setPlain(true);&lt;br /&gt;       window.setCloseAction(Window.HIDE);&lt;br /&gt;       window.add(getFormPanel());&lt;br /&gt;&lt;br /&gt;       Button buttonNewUser = new Button("Nuevo Usuario");&lt;br /&gt;       buttonNewUser.addListener(new ButtonListenerAdapter(){&lt;br /&gt;&lt;br /&gt;          @Override&lt;br /&gt;          public void onClick(Button button, EventObject e) {&lt;br /&gt;            Usuario u = new Usuario();&lt;br /&gt;            u.setEdad(Integer.parseInt(edad.getText()));&lt;br /&gt;            u.setNombre(nombre.getText());&lt;br /&gt;            u.setApellido(apellido.getText());&lt;br /&gt;&lt;br /&gt;            insertaUsuario(u);&lt;br /&gt;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;       }&lt;br /&gt;       );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       window.setButtonAlign(Position.CENTER);&lt;br /&gt;       window.addButton(buttonNewUser);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      return window;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setUsuario(Usuario usuario) {&lt;br /&gt;      this.usuario = usuario;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public void insertaUsuario(Usuario usuario) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      // Create an asynchronous callback to handle the result.&lt;br /&gt;      final AsyncCallback callback = new AsyncCallback() {&lt;br /&gt;&lt;br /&gt;          public void onSuccess(Object result) {&lt;br /&gt;              String respuesta = (String) result;&lt;br /&gt;&lt;br /&gt;                  MessageBox.alert(respuesta);&lt;br /&gt;&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;          public void onFailure(Throwable caught) {&lt;br /&gt;              MessageBox.alert("Error " + caught);&lt;br /&gt;          }&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;      getService().nuevoUsuario(usuario, callback);&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   public static GWTServiceUserAsync getService() {&lt;br /&gt;     service = (GWTServiceUserAsync) GWT.create(GWTServiceUser.class);&lt;br /&gt;      ServiceDefTarget endpoint = (ServiceDefTarget) service;&lt;br /&gt;      String moduleRelativeURL = GWT.getModuleBaseURL() + "servicio/gwtserviceuser";&lt;br /&gt;      endpoint.setServiceEntryPoint(moduleRelativeURL);&lt;br /&gt;      return service;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;----------------------------------------&lt;br /&gt;&lt;br /&gt;- La parte importante que debemos entender de los rcp de gwt es que podemos mandar beans desde los clientes hasta nuestro servidor de manera clara sin necesidad de ocupar&lt;br /&gt;request.&lt;br /&gt;&lt;br /&gt;La menera que se logra esto es atravez de del siguiente metodo de la clase &lt;/usuario&gt;&lt;/usuario&gt;GuiUsuario.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public static GWTServiceUserAsync getService() {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;       service = (GWTServiceUserAsync) GWT.create(GWTServiceUser.class);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        ServiceDefTarget endpoint = (ServiceDefTarget) service;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        String moduleRelativeURL = GWT.getModuleBaseURL() + "servicio/gwtserviceuser";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        endpoint.setServiceEntryPoint(moduleRelativeURL);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        return service;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;y para llamarlo ocupamos el metodo siguiente dentro de la misma clase:&lt;br /&gt;&lt;br /&gt;public void insertaUsuario(Usuario usuario) {&lt;br /&gt;&lt;br /&gt;       // Create an asynchronous callback to handle the result.&lt;br /&gt;       final AsyncCallback callback = new AsyncCallback() {&lt;br /&gt;           public void onSuccess(Object result) {&lt;br /&gt;               String respuesta = (String) result;&lt;br /&gt;&lt;br /&gt;                   MessageBox.alert(respuesta);&lt;br /&gt;&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           public void onFailure(Throwable caught) {&lt;br /&gt;               MessageBox.alert("Error " + caught);&lt;br /&gt;           }&lt;br /&gt;       };&lt;br /&gt;&lt;br /&gt;       getService().nuevoUsuario(usuario, callback);&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;Cuando se ejecuta este metodo llama directemente a metodo  getService() el cual tiene un metodo llamado nuevoUsuario que ha este le mandamos como parametro el usuario y el callback que su tarea  va ser recibir la respuesta del rcp del servidor en este caso de la clase GWTServiceUserImpl que sobreescribe el método nuevoUsuario que es donde creamos la lista y insertamos elementos a ella y esta responde con el mensaje return "Se ha creado el usuario" el cual es recibido por el callback en:&lt;br /&gt;&lt;br /&gt;public void onSuccess(Object result) {&lt;br /&gt;               String respuesta = (String) result;&lt;br /&gt;&lt;br /&gt;                   MessageBox.alert(respuesta);&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;br /&gt;Por ultimo necesitamos el evento del boton de la GuiUsuario para crear el usuario y llamar al  método insertaUsuario&lt;br /&gt;&lt;br /&gt;Button buttonNewUser = new Button("Nuevo Usuario");&lt;br /&gt;        buttonNewUser.addListener(new ButtonListenerAdapter(){&lt;br /&gt;&lt;br /&gt;           @Override&lt;br /&gt;           public void onClick(Button button, EventObject e) {&lt;br /&gt;             Usuario u = new Usuario();&lt;br /&gt;             u.setEdad(Integer.parseInt(edad.getText()));&lt;br /&gt;             u.setNombre(nombre.getText());&lt;br /&gt;             u.setApellido(apellido.getText());&lt;br /&gt;&lt;br /&gt;             insertaUsuario(u);&lt;br /&gt;&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;        );&lt;br /&gt;&lt;usuario&gt;&lt;usuario&gt;&lt;br /&gt;Después damos run al proyecto y nuestra aplicación esta lista para crear usuarios yo puse una lista estática de usuarios pero bien se pueden insertar en una base de datos con hibernate o con jdbc.&lt;br /&gt;&lt;br /&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2dt9yi_6oI/AAAAAAAAAK4/FvBFXIJZ_vw/s1600-h/Pantallazo-8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S2dt9yi_6oI/AAAAAAAAAK4/FvBFXIJZ_vw/s320/Pantallazo-8.png" alt="" id="BLOGGER_PHOTO_ID_5433432383753808514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;usuario&gt;&lt;usuario&gt;Bueno eso es todo despues crearemos un grid ....&lt;br /&gt;&lt;br /&gt;Dedicado a mi princesita.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://isaacrobot.blogspot.com/2010/03/gwt-rcp-parte-ii-grid-gwt-ext.html"&gt;Segunda Parte&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/usuario&gt;&lt;/usuario&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-3157059425623304651?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/3157059425623304651/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=3157059425623304651' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3157059425623304651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3157059425623304651'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/02/rcp-en-gwt-netbeans-gwt-ext.html' title='RCP en Gwt (Netbeans gwt-ext)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LqD7mWOFVm8/S2cs2ekxsMI/AAAAAAAAAJ4/KJgDJF2fNwY/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2065177283065147486</id><published>2010-01-05T15:47:00.000-08:00</published><updated>2010-01-08T15:42:18.288-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT NETBEANS JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='dwr'/><category scheme='http://www.blogger.com/atom/ns#' term='spring'/><title type='text'>Dwr y Spring en NetBeans</title><content type='html'>Hola este año voy a empezar a estudiar spring, pero como spring no tiene de manera implícita ajax, tendremos que ocupar un plugin llamado &lt;a href="http://en.wikipedia.org/wiki/DWR_%28Java%29"&gt;Dwr&lt;/a&gt; (Data Web Remoting) es una libreria de java para hacer peticiones asincronas en aplicaciones web algo parecido a RCP de gwt pero de manera mas facil.&lt;br /&gt;&lt;br /&gt;Paso 1 de 6 :Necesitamos crear un proyecto web en netbeans al cual debemos de incluir el framework de spring.&lt;br /&gt;&lt;br /&gt;Podemos hacerlo de dos maneras una es agregarlo desde el momento que creamos nuestro proyecto web y la segunda es ya creado ir a propiedades en framewoks incluir spring.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S0PSMoUuTtI/AAAAAAAAAI0/G3q1naKvBcc/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S0PSMoUuTtI/AAAAAAAAAI0/G3q1naKvBcc/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5423409490708811474" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/S0PSU8RebLI/AAAAAAAAAI8/pI7IQ-KfqXA/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/S0PSU8RebLI/AAAAAAAAAI8/pI7IQ-KfqXA/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5423409633502850226" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/S0PSfGFaY_I/AAAAAAAAAJE/fs2tc1QEddk/s1600-h/Pantallazo-3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/S0PSfGFaY_I/AAAAAAAAAJE/fs2tc1QEddk/s320/Pantallazo-3.png" alt="" id="BLOGGER_PHOTO_ID_5423409807935300594" border="0" /&gt;&lt;/a&gt;Paso 2 de 6 : Despues de necesitamos descargar la libreria de &lt;a href="http://directwebremoting.org/dwr/download.html"&gt;Dwr de su pagina oficial aqui&lt;/a&gt;, lo agregamos a nuestro protecto de esta manera, en nuestro proyecto hay una carpeta que se llama Libreries click derecho y luego la opcion JAR/FOLDER&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S0PUTl3xWlI/AAAAAAAAAJM/M_Lb6bES01c/s1600-h/Pantallazo-4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/S0PUTl3xWlI/AAAAAAAAAJM/M_Lb6bES01c/s320/Pantallazo-4.png" alt="" id="BLOGGER_PHOTO_ID_5423411809332845138" border="0" /&gt;&lt;/a&gt;Paso de 3 de 6: El siguiente paso es la configuracion del web.xml en el cual se mapeara los tags para dwr, tendremos que poner lo siguiente:&lt;br /&gt;&lt;br /&gt;&amp;lt;servlet&amp;gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;       &amp;lt;servlet-name&amp;gt;dwr&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;&amp;lt;servlet-class&amp;gt;org.directwebremoting.spring.DwrSpringServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;&amp;lt;init-param&amp;gt;&lt;br /&gt;  &amp;lt;param-name&amp;gt;debug&amp;lt;/param-name&amp;gt;&lt;br /&gt;  &amp;lt;param-value&amp;gt;true&amp;lt;/param-value&amp;gt;&lt;br /&gt;&amp;lt;/init-param&amp;gt;&lt;br /&gt;&amp;lt;/servlet&amp;gt;&lt;br /&gt;&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;&amp;lt;servlet-name&amp;gt;dwr&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;&amp;lt;url-pattern&amp;gt;/dwr/*&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;&amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S0PY0b07riI/AAAAAAAAAJU/ON2YeJHTmRM/s1600-h/Pantallazo-5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S0PY0b07riI/AAAAAAAAAJU/ON2YeJHTmRM/s320/Pantallazo-5.png" alt="" id="BLOGGER_PHOTO_ID_5423416771618778658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Paso 4 de (n-3): despues crearemos un paquete llamado dwrspring y dentro una clase que se llama ControlDwrSpring que tendra un metodo llamado getMenssage:&lt;br /&gt;&lt;br /&gt;package dwrspring;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class ControlDwrSpring {&lt;br /&gt;&lt;br /&gt;public String getMessage(){&lt;br /&gt;return "Hola mundo desde el control";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/S0PfX81q7jI/AAAAAAAAAJc/fAOMlK-kYCo/s1600-h/Pantallazo-7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/S0PfX81q7jI/AAAAAAAAAJc/fAOMlK-kYCo/s320/Pantallazo-7.png" alt="" id="BLOGGER_PHOTO_ID_5423423978845433394" border="0" /&gt;&lt;/a&gt;Paso 5 de 6: Ya casi por terminar lo único que necesitamos es configurar el applicationContext.xml que esta dentro de la carpeta WEB-INF, copiar todo lo siguiente:&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;beans xmlns="http://www.springframework.org/schema/beans"&lt;br /&gt;   xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"&lt;br /&gt;   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&lt;br /&gt;   xmlns:p="http://www.springframework.org/schema/p"&lt;br /&gt;   xmlns:aop="http://www.springframework.org/schema/aop"&lt;br /&gt;   xmlns:tx="http://www.springframework.org/schema/tx"&lt;br /&gt;   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&lt;br /&gt;   http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd&lt;br /&gt;   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd&lt;br /&gt;   http://www.directwebremoting.org/schema/spring-dwr&lt;br /&gt;   http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;bean id="controlDwrSring" class="dwrspring.ControlDwrSpring"&amp;gt;&lt;br /&gt;    &amp;lt;dwr:remote javascript="serviceDwrSpring"&amp;gt;&lt;br /&gt;        &amp;lt;dwr:include method="getMessage" /&amp;gt;&lt;br /&gt;    &amp;lt;/dwr:remote&amp;gt;&lt;br /&gt;&amp;lt;/bean&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/beans&amp;gt;&lt;br /&gt;&lt;br /&gt;Paso 6 de 6 : Despues damos run a nuestro proyecto y el la url podemos esto, el puerto puede cambiar esto depende de la configuración de nuestro servidor de pruebas de netbeans http://localhost:8084/DwrSpring/dwr/index.html&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/S0PwrhiCBxI/AAAAAAAAAJk/-lrMNj98KuE/s1600-h/Pantallazo-9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/S0PwrhiCBxI/AAAAAAAAAJk/-lrMNj98KuE/s320/Pantallazo-9.png" alt="" id="BLOGGER_PHOTO_ID_5423443006810359570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Después den clic en el link y tendrá que aparecer esto:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/S0PynscliAI/AAAAAAAAAJs/vCtQthdG2X0/s1600-h/Pantallazo-10.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/S0PynscliAI/AAAAAAAAAJs/vCtQthdG2X0/s320/Pantallazo-10.png" alt="" id="BLOGGER_PHOTO_ID_5423445140044089346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Tendrá que aparecer el nombre de su método de la clase Java que queremos convertir a js, para este caso es getMessage y si le damos execute aparecera el mensaje &lt;span style="color: rgb(204, 0, 0);"&gt;Hola mundo desde el control&lt;/span&gt;, bueno es un pequeño ejemplo pero con esto podemos hacer cosas mas complejas como CRUD, ademas lo podemos pegar con Jquery, incluso podemos acceder a objetos de nuestro modelo y mandarlos directamente a nuesto cliente que este caso el navegador.&lt;br /&gt;&lt;br /&gt;Despues continuare con mas ejemplos, gracias tambien a todos los que leen mi blog si quieren aportar algo escriban a mi correo.&lt;br /&gt;&lt;br /&gt;Dedicado a mi princesita.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2065177283065147486?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2065177283065147486/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2065177283065147486' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2065177283065147486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2065177283065147486'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2010/01/dwr-y-spring-en-netbeans.html' title='Dwr y Spring en NetBeans'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/S0PSMoUuTtI/AAAAAAAAAI0/G3q1naKvBcc/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2979954985170238091</id><published>2009-12-16T13:05:00.000-08:00</published><updated>2010-06-04T15:41:09.543-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sueños'/><title type='text'>Sueños</title><content type='html'>Han soñado en estar en lugar en donde no hay nada pero nada que los preocupe.&lt;br /&gt;Han soñado con estar donde siempre tuvieron que haber estado.&lt;br /&gt;No mires nunca hacia atrás. olvídalos.&lt;br /&gt;- Pero cuando regresare nunca?&lt;br /&gt;- Nunca es demasiado tiempo.&lt;br /&gt;Con pasos titubeantes y una mirada un poco triste, regresaras.&lt;br /&gt;- Jamas, donde voy no existe el tiempo.&lt;br /&gt;El tiempo no es importante por ahora, promete que no me vas olvidar.&lt;br /&gt;- Olvidarte jamas.&lt;br /&gt;Quiero que hagas algo por mi que cuentes mi historia a todos, que le digas quien realmente quien soy.&lt;br /&gt;- Quieres volar.&lt;br /&gt;La verdad me marean las alturas.&lt;br /&gt;- Si nunca lo intentas jamas lo sabrás.&lt;br /&gt;Nunca digas nunca.&lt;br /&gt;Ok, prométeme que no me vas a soltar.&lt;br /&gt;- Mira es este el lugar que he creado para ti, te gusta.&lt;br /&gt;No veo nada.&lt;br /&gt;- Tienes que creer y aparecerá justo enfrente de ti.&lt;br /&gt;Como lo haces.&lt;br /&gt;- Jamas guardo nada para el regreso.&lt;br /&gt;Nunca me habías dicho eso.&lt;br /&gt;- Nunca preguntaste.&lt;br /&gt;Quiero regresar este lugar me da miedo.&lt;br /&gt;- Vete, regresa.&lt;br /&gt;Pero dime que sientes.&lt;br /&gt;Miedo.&lt;br /&gt;- Crecer.&lt;br /&gt;Sueños.&lt;br /&gt;- Mi mundo.&lt;br /&gt;Sentimientos, Amor.&lt;br /&gt;- Yo no se que es eso.&lt;br /&gt;Lo sabes lo has sentido por alguien o por algo.&lt;br /&gt;- Jamas&lt;br /&gt;- Vete&lt;br /&gt;Pero necesito que este conmigo....&lt;br /&gt;&lt;br /&gt;-No te acuerdas verdad la primera vez que vi tu mundo, era extraño llenas de reglas estúpidas&lt;br /&gt;&lt;br /&gt;Pero son mis Padres entiende, lo tengo que hacer, es para cuando sea grande tenga una buena educación, un empleo.&lt;br /&gt;&lt;br /&gt;-Solo  que lo  mejor se hacer mejor es vender  sueños.&lt;br /&gt;-Solo  que lo mejor de mi eras tu.&lt;br /&gt;-Siempre digo cosas estúpidas, pero en realidad nunca quise lastimarte.&lt;br /&gt;-Este es mi mundo...tu eres mi mundo.&lt;br /&gt;-Siempre los fuiste desde el primer día que te vi brincando y cantando tan feliz, quizas algún día escribire una canción con tu nombre...&lt;br /&gt;&lt;br /&gt;Continuara.......&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;FIN&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2979954985170238091?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2979954985170238091/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2979954985170238091' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2979954985170238091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2979954985170238091'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/12/suenos.html' title='Sueños'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-468275686339205647</id><published>2009-09-30T16:18:00.000-07:00</published><updated>2010-02-15T10:44:28.590-08:00</updated><title type='text'>Mew en México</title><content type='html'>Es muy difícil decir que muchas veces tienes un aspecto agradable, puede ser...&lt;br /&gt;Es fácil saber que esta vez no me tomaste en encuenta quizás sea tu manera de decir superarlo,..,quizás sea la única manera que conoces para decir que es lo que me merezco...&lt;br /&gt;&lt;br /&gt;Alguna vez hace no mucho tiempo solías ser tímida y aburrida, una especie de criatura rara,...,me acuerdo, pero quizás no vale la pena, no se si sueles dar besos tan apasionados, durante viajes cortos, quizás solo dices que soy tierno cuando hay algún  camino  junto a la ventana...&lt;br /&gt;&lt;br /&gt;Siempre suelo hacer muchas cosas sin pensar en ti, pero realmente hoy me di cuenta que nunca recurro a ti, muchos deseos están por el aire, pero serán olvidados, porque quizás siempre tuvieron que estar muertos, pero&lt;br /&gt;los verdaderos recuerdos viajan atravez del tiempo en una especie de maquina, se detienen en el momento menos indicado,&lt;br /&gt;solo para recordarte quien eres,....&lt;br /&gt;&lt;br /&gt;....Tiempo..&lt;br /&gt;&lt;br /&gt;Hace tres semanas, estaba nuevamente ahí aparado escuchando un sonido tan espectacular, que tengo que recordar por el resto de mi vida..&lt;br /&gt;no importo soportar la lluvia, al llegar valió la pena, era como estar en una cascada, como si alguien corriera tan veloz que nadie pudiera verlo,&lt;br /&gt;como cuando tenia clase de Biología,...,&lt;br /&gt;&lt;br /&gt;Me tiraría al piso para sentir el frió sobre mi mejilla, brincaría hasta caer nuevamente de la resbaladilla, caminaría de vez en cuando hasta las tres de la mañana justo antes de amanecer justo cuando esta el alba,...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-468275686339205647?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/468275686339205647/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=468275686339205647' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/468275686339205647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/468275686339205647'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/09/mew-en-mexico.html' title='Mew en México'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-7554998638961355224</id><published>2009-06-23T15:17:00.000-07:00</published><updated>2009-06-23T15:49:10.758-07:00</updated><title type='text'>Copiar archivos de maquina a otra con scp (sh)</title><content type='html'>Hace un par de días me tope con el problema de enviar archivos de una maquina a otra y ocupe el siguiente comando:&lt;br /&gt;&lt;br /&gt;isaac@mew:~/Escritorio$ scp -r /home/isaac/xml_redes/redcolego_q/ usuario@dominio_o_ip:/usr/local/apache-tomcat-5.5.17/webapps/redes/xml/&lt;br /&gt;&lt;br /&gt;y el comando funciona a la perfección solo con un detalle que copio la todos los archivos incluyendo a la carpeta redcolego_q/ dentro de xml/, y yo solo necesitaba copiar el contenido.&lt;br /&gt;&lt;br /&gt;Con este comando solo copias el contenido.&lt;br /&gt;&lt;br /&gt;scp  /home/isaac/xml_redes/redcolego_q/* usuario@dominio_o_ip:/usr/local/apache-tomcat-5.5.17/webapps/redes/xml/&lt;br /&gt;&lt;br /&gt;También lo podemos hacer con un .sh le mostrare como, aunque es mas sencillo con con el ejemplo de arriba, con el .sh podemos incluir mas funcionalidades.&lt;br /&gt;&lt;br /&gt;Primero necesitamos un keygen y manera de optenerlo es:&lt;br /&gt;Esto es para la maquina donde copiaremos los archivos, de esta manera cuando ejecutemos el comando no pediran el password con cada archivo.&lt;br /&gt;ssh-keygen -t rsa&lt;br /&gt;ssh-copy-id -i ~/.ssh/id_rsa.pub usuario@dominio_o_ip&lt;br /&gt;&lt;br /&gt;acontinuación les pedira el password&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-7554998638961355224?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/7554998638961355224/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=7554998638961355224' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/7554998638961355224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/7554998638961355224'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/06/copiar-archivos-de-maquina-otra-con-scp.html' title='Copiar archivos de maquina a otra con scp (sh)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-4252849716796708490</id><published>2009-06-16T11:21:00.000-07:00</published><updated>2010-04-12T10:03:47.264-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='itext'/><category scheme='http://www.blogger.com/atom/ns#' term='generación de pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='pdf'/><category scheme='http://www.blogger.com/atom/ns#' term='apliacación web'/><title type='text'>Itex en una aplicación web (Generar pdf)</title><content type='html'>Por fin encontré como enviar un documento pdf generado de manera dinámica desde el servidor al cliente, pues resulta que encontré un código en la web que según lo hacia pero tenia un linea mal y quizás la mas importante  por lo general cuando llamamos a un servlet lo hace por metodo&lt;br /&gt;&lt;br /&gt;public void doGet(HttpServletRequest req, HttpServletResponse resp)&lt;br /&gt;throws ServletException, IOException&lt;br /&gt;{....}&lt;br /&gt;&lt;br /&gt;el cual realiza una acción según sea el caso puede responder con texto plano, html, xml, json ect, pero también puede ocupar el método&lt;br /&gt;&lt;br /&gt;protected void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt; throws ServletException, IOException {&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;También puede responder de la misma manera que goGet, si nosotros queremos responder con html,json, xml, texto plano, o con un pdf que es al final de cuentas es resp.setContentType("application/pdf") que es un objeto de tipo HttpServletResponse resp que es lo que el servlet de responderá al cliente, como nosotros no sabemos como un cliente puede solicitar nuestro pdf nosotros tendremos que generar un método para ambos&lt;br /&gt;&lt;br /&gt;protected void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt; throws ServletException, IOException {&lt;br /&gt;     processRequest(request, response);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;protected void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt; throws ServletException, IOException {&lt;br /&gt;     processRequest(request, response);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;protected void processRequest(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt; throws ServletException, IOException {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Que en el caso de netbeans lo hace al crear un servlet, bueno si lo hacen con netbeans borren lo que tenga dentro de ese metodo.&lt;br /&gt;&lt;br /&gt;El código es el siguiente:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;package pdf.servlet;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import javax.servlet.ServletException;&lt;br /&gt;import javax.servlet.http.HttpServlet;&lt;br /&gt;import javax.servlet.http.HttpServletRequest;&lt;br /&gt;import javax.servlet.http.HttpServletResponse;&lt;br /&gt;import com.lowagie.text.pdf.PdfPTable;&lt;br /&gt;import com.lowagie.text.pdf.PdfPCell;&lt;br /&gt;import com.lowagie.text.pdf.PdfWriter;&lt;br /&gt;import com.lowagie.text.Document;&lt;br /&gt;import com.lowagie.text.DocumentException;&lt;br /&gt;import com.lowagie.text.Element;&lt;br /&gt;import com.lowagie.text.Paragraph;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;public class CrearPdf extends HttpServlet {&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;   * Processes requests for both HTTP &amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt; methods.&lt;br /&gt;&lt;br /&gt;   * @param request servlet request&lt;br /&gt;   * @param response servlet response&lt;br /&gt;   * @throws ServletException if a servlet-specific error occurs&lt;br /&gt;   * @throws IOException if an I/O error occurs&lt;br /&gt;   */&lt;br /&gt;&lt;br /&gt;  protected void processRequest(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;  throws ServletException, IOException {&lt;br /&gt;&lt;br /&gt;      try {&lt;br /&gt;&lt;br /&gt;response.setContentType("application/pdf"); // Code 1&lt;br /&gt;Document document = new Document();&lt;br /&gt;PdfWriter.getInstance(document,response.getOutputStream()); // Code 2&lt;br /&gt;document.open();&lt;br /&gt;float[] widths = {25f, 25f, 20f,15f,15f};&lt;br /&gt;PdfPTable table = new PdfPTable(5); //Code 3&lt;br /&gt;table.setHorizontalAlignment(Element.ALIGN_LEFT);&lt;br /&gt;table.setWidthPercentage(100);&lt;br /&gt;PdfPCell cell =new PdfPCell(new Paragraph("Prueba"));&lt;br /&gt;cell.setHorizontalAlignment(Element.ALIGN_CENTER);&lt;br /&gt;cell.setColspan(5);&lt;br /&gt;table.addCell(cell);&lt;br /&gt;table.addCell("Scanned Fax FileName");&lt;br /&gt;cell.setHorizontalAlignment(Element.ALIGN_CENTER);&lt;br /&gt;table.addCell("Corporate Name");&lt;br /&gt;cell.setHorizontalAlignment(Element.ALIGN_CENTER);&lt;br /&gt;table.addCell("Corporate Account");&lt;br /&gt;cell.setHorizontalAlignment(Element.ALIGN_CENTER);&lt;br /&gt;table.addCell("Credit");&lt;br /&gt;cell.setHorizontalAlignment(Element.ALIGN_CENTER);&lt;br /&gt;table.addCell("Debit");&lt;br /&gt;cell.setHorizontalAlignment(Element.ALIGN_CENTER);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;document.add(table);&lt;br /&gt;document.close();&lt;br /&gt;&lt;br /&gt;}catch(DocumentException e){&lt;br /&gt;e.printStackTrace();&lt;br /&gt;}catch (Exception e) {&lt;br /&gt;&lt;br /&gt;// TODO: handle exception&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;  }&lt;br /&gt;// &amp;lt;editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."&amp;gt;&lt;br /&gt;  /**&lt;br /&gt;   * Handles the HTTP &amp;lt;code&amp;gt;GET&amp;lt;/code&amp;gt; method.&lt;br /&gt;   * @param request servlet request&lt;br /&gt;   * @param response servlet response&lt;br /&gt;* @throws ServletException if a servlet-specific error occurs&lt;br /&gt;* @throws IOException if an I/O error occurs&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;&lt;br /&gt;  protected void doGet(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;throws ServletException, IOException {&lt;br /&gt;      processRequest(request, response);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;* Handles the HTTP &amp;lt;code&amp;gt;POST&amp;lt;/code&amp;gt; method.&lt;br /&gt;* @param request servlet request&lt;br /&gt;* @param response servlet response&lt;br /&gt;* @throws ServletException if a servlet-specific error occurs&lt;br /&gt;* @throws IOException if an I/O error occurs&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;&lt;br /&gt;  protected void doPost(HttpServletRequest request, HttpServletResponse response)&lt;br /&gt;throws ServletException, IOException {&lt;br /&gt;processRequest(request, response);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  /**&lt;br /&gt;* Returns a short description of the servlet.&lt;br /&gt;* @return a String containing servlet description&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;public String getServletInfo() {&lt;br /&gt;return "Short description";&lt;br /&gt;}// &amp;lt;/editor-fold&amp;gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;El web.xml es el siguiente en el caso de Netbeans no es necesario puesto que lo mapea cuando creas el servlet.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;servlet&amp;gt;&lt;br /&gt;      &amp;lt;servlet-name&amp;gt;CrearPdf&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;      &amp;lt;servlet-class&amp;gt;pdf.servlet.CrearPdf&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;  &amp;lt;/servlet&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;      &amp;lt;servlet-name&amp;gt;CrearPdf&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;      &amp;lt;url-pattern&amp;gt;/creaPdf&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;  &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;y final mente run...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SjfpnfHFu1I/AAAAAAAAAHE/21pG5LQUgL8/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SjfpnfHFu1I/AAAAAAAAAHE/21pG5LQUgL8/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5347999947101158226" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-4252849716796708490?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/4252849716796708490/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=4252849716796708490' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4252849716796708490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4252849716796708490'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/06/itex-en-una-aplicacion-web-generar-pdf.html' title='Itex en una aplicación web (Generar pdf)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LqD7mWOFVm8/SjfpnfHFu1I/AAAAAAAAAHE/21pG5LQUgL8/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-8774631665451279528</id><published>2009-06-11T16:04:00.000-07:00</published><updated>2009-06-11T16:32:04.320-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opaco'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPanel redondeado'/><category scheme='http://www.blogger.com/atom/ns#' term='JPanel transparente'/><title type='text'>JPanel transparente (Parte 4)</title><content type='html'>Lo primero que quiero decir es que ya limpie mi escritorio, bueno primero quiero reconocer que algunas ideas que tome para el panel transparente por no decir todo el código lo tome de este blog  &lt;a href="http://edisoncor.wordpress.com/2007/10/06/jpanel-con-imagen/"&gt;http://edisoncor.wordpress.com/2007/10/06/jpanel-con-imagen/&lt;/a&gt;,  un punto mas corregí el código de la parte tres para que quede mejor el borde, después agregare los códigos, bueno antes quiero que observen como van mejorando la interfaz.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SjGPRHZUAZI/AAAAAAAAAGs/DMwyr0jsc6Y/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SjGPRHZUAZI/AAAAAAAAAGs/DMwyr0jsc6Y/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5346211756871254418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Este es el cogido del borde mejorado:&lt;br /&gt;&lt;br /&gt;package vista;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac legorreta&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.GradientPaint;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import java.awt.Graphics2D;&lt;br /&gt;import java.awt.geom.RoundRectangle2D;&lt;br /&gt;import javax.swing.JLayeredPane;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class IPanel  extends JLayeredPane&lt;br /&gt;{&lt;br /&gt;  private Color color1 = new Color(255,255,255);&lt;br /&gt;  private Color color3 = new Color(1,1,1);&lt;br /&gt;  private Color color2 = new Color(0,0,0);&lt;br /&gt;   private int arcw=25;&lt;br /&gt;  private int arch=25;&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  protected void paintComponent(Graphics g)&lt;br /&gt;  {&lt;br /&gt;      Graphics2D g2 = (Graphics2D) g.create();&lt;br /&gt;      float x=getWidth();&lt;br /&gt;      float y=getHeight();&lt;br /&gt;      g2.setPaint(new GradientPaint(0.0f, 0.0f, getColor1().darker(),&lt;br /&gt;              0.0f, getHeight(), getColor2().darker()));&lt;br /&gt;      g2.fill(new RoundRectangle2D.Double(0, 0, x, y, getArcw(),getArch()));&lt;br /&gt;      g2.setPaint(new GradientPaint(0.0f, 0.0f,getColor3(),&lt;br /&gt;                  getWidth(), getHeight(),getColor3()));&lt;br /&gt;      g2.drawRoundRect(0, 0, getWidth()-1 , getHeight()-1, getArcw()-2,getArch()-6);&lt;br /&gt;      g2.setPaint(Color.black);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public Color getColor3() {&lt;br /&gt;      return color3;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setColor3(Color color3) {&lt;br /&gt;      this.color3 = color3;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public int getArch() {&lt;br /&gt;      return arch;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setArch(int arch) {&lt;br /&gt;      this.arch = arch;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public int getArcw() {&lt;br /&gt;      return arcw;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setArcw(int arcw) {&lt;br /&gt;      this.arcw = arcw;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt; //Métodos set y get que nos permiten modificar los colores&lt;br /&gt;&lt;br /&gt;  public Color getColor1() {return color1;}&lt;br /&gt;&lt;br /&gt;  public void setColor1(Color color1) {this.color1 = color1;}&lt;br /&gt;&lt;br /&gt;  public Color getColor2() {return color2;}&lt;br /&gt;&lt;br /&gt;  public void setColor2(Color color2){this.color2 = color2;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Este el código para que el panel sea transparente:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package vista;&lt;br /&gt;&lt;br /&gt;import java.awt.AlphaComposite;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import java.awt.Graphics2D;&lt;br /&gt;import java.awt.RenderingHints;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* &lt;span class="java-block-comment"&gt;@author Edisoncor&lt;/span&gt;&lt;br /&gt;*/&lt;br /&gt;public class IPanelTrans extends IPanel{&lt;br /&gt;&lt;br /&gt;  private float tran= 0.8f;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  @Override&lt;br /&gt;  protected void paintComponent(Graphics g) {&lt;br /&gt;      Graphics2D g2 = (Graphics2D) g;&lt;br /&gt;      g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,&lt;br /&gt;              RenderingHints.VALUE_INTERPOLATION_BILINEAR);&lt;br /&gt;      AlphaComposite old = (AlphaComposite) g2.getComposite();&lt;br /&gt;      g2.setComposite(AlphaComposite.SrcOver.derive(getTran()));&lt;br /&gt;      super.paintComponent(g);&lt;br /&gt;      g2.setComposite(old);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public float getTran() {&lt;br /&gt;      return tran;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void setTran(float tran) {&lt;br /&gt;      this.tran = tran;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Como agragarlo por si tienen duda en su palette hay una opción beans dan click en choose  bean, aparecera una pantalla como la siguiente y escriben lo siguiente vista.IPanelTrans despues la arrastran hasta su FormPanel y listo&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjGTAJ8TzhI/AAAAAAAAAG0/CDBYkFWm1AE/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjGTAJ8TzhI/AAAAAAAAAG0/CDBYkFWm1AE/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5346215863543647762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;En la propiedades aparecera un atributo llamado tran por defecto tiene .5 pero pueden cambiarlo...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjGTtJmfg_I/AAAAAAAAAG8/w7uBibs9IM4/s1600-h/Pantallazo-3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjGTtJmfg_I/AAAAAAAAAG8/w7uBibs9IM4/s320/Pantallazo-3.png" alt="" id="BLOGGER_PHOTO_ID_5346216636546253810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno en la parte uno explico como agregarlo a un FormPanel y despues a un Frame, como pueden notar no parece transparente, bueno en blog donde tome este codigo esta un JPanel con imagen de fondo tome el código y lo mejore un poco para que puedan agregar una imagen desde las propiedades (ruta), pero eso lo explicare en la parte 5...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-8774631665451279528?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/8774631665451279528/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=8774631665451279528' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8774631665451279528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8774631665451279528'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/06/jpanel-transparente-parte-4.html' title='JPanel transparente (Parte 4)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LqD7mWOFVm8/SjGPRHZUAZI/AAAAAAAAAGs/DMwyr0jsc6Y/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2842443384305967701</id><published>2009-06-10T12:18:00.000-07:00</published><updated>2009-06-10T12:27:27.133-07:00</updated><title type='text'>JPanel con Gradiente redondeado  (Parte 3)</title><content type='html'>Bueno la parte dos de este pequeño tutorial tiene solo la elección de dos colores este nuevo tiene la elección de tres colores, también pueden elegir el color del borde, este es el código:&lt;br /&gt;&lt;br /&gt;package vista;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac legorreta&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.GradientPaint;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import java.awt.Graphics2D;&lt;br /&gt;import java.awt.geom.RoundRectangle2D;&lt;br /&gt;import javax.swing.JLayeredPane;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class IPanel  extends JLayeredPane&lt;br /&gt;{&lt;br /&gt;   private Color color1 = new Color(255,255,255);&lt;br /&gt;   private Color color3 = new Color(1,1,1);&lt;br /&gt;   private Color color2 = new Color(0,0,0);&lt;br /&gt;    private int arcw=25;&lt;br /&gt;   private int arch=25;&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   protected void paintComponent(Graphics g)&lt;br /&gt;   {&lt;br /&gt;       Graphics2D g2 = (Graphics2D) g.create();&lt;br /&gt;       float x=getWidth();&lt;br /&gt;       float y=getHeight();&lt;br /&gt;       g2.setPaint(new GradientPaint(0.0f, 0.0f, getColor1().darker(),&lt;br /&gt;               0.0f, getHeight(), getColor2().darker()));&lt;br /&gt;       g2.fill(new RoundRectangle2D.Double(0, 0, x, y, getArcw(),getArch()));&lt;br /&gt;       g2.setPaint(new GradientPaint(0.0f, 0.0f,getColor3(),&lt;br /&gt;                   getWidth(), getHeight(),getColor3()));&lt;br /&gt;       g2.drawRoundRect(0, 0, getWidth()-1 , getHeight(), getArcw(),getArch());&lt;br /&gt;       g2.setPaint(Color.black);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public Color getColor3() {&lt;br /&gt;       return color3;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void setColor3(Color color3) {&lt;br /&gt;       this.color3 = color3;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   public int getArch() {&lt;br /&gt;       return arch;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void setArch(int arch) {&lt;br /&gt;       this.arch = arch;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public int getArcw() {&lt;br /&gt;       return arcw;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void setArcw(int arcw) {&lt;br /&gt;       this.arcw = arcw;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  //Métodos set y get que nos permiten modificar los colores&lt;br /&gt;&lt;br /&gt;   public Color getColor1() {return color1;}&lt;br /&gt;&lt;br /&gt;   public void setColor1(Color color1) {this.color1 = color1;}&lt;br /&gt;&lt;br /&gt;   public Color getColor2() {return color2;}&lt;br /&gt;&lt;br /&gt;   public void setColor2(Color color2){this.color2 = color2;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/SjAJDZNm-jI/AAAAAAAAAGk/So-eoj25-7s/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/SjAJDZNm-jI/AAAAAAAAAGk/So-eoj25-7s/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5345782711601003058" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Espero hacer el panel transparente, pero que no tenga problemas al agregar widgets&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2842443384305967701?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2842443384305967701/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2842443384305967701' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2842443384305967701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2842443384305967701'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/06/jpanel-con-gradiente-redondeado-parte-3.html' title='JPanel con Gradiente redondeado  (Parte 3)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/SjAJDZNm-jI/AAAAAAAAAGk/So-eoj25-7s/s72-c/Pantallazo-2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-3567220902493842041</id><published>2009-06-08T15:15:00.000-07:00</published><updated>2009-06-08T15:55:42.245-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JLayeredPane'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='JPanel redondeado'/><category scheme='http://www.blogger.com/atom/ns#' term='widgets de swing'/><title type='text'>JPanel con Gradiente redondeado con widgets de swing para Netbeans (Parte 2)</title><content type='html'>En la primera parte vimos como hacer un gradiente con un JLayeredPane, ahora el siguiente paso es hacer los bordes redondeados. el código es el siguiente.&lt;br /&gt;&lt;br /&gt;package vista;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac legorreta&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.GradientPaint;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import java.awt.Graphics2D;&lt;br /&gt;import java.awt.geom.RoundRectangle2D;&lt;br /&gt;import javax.swing.JLayeredPane;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class IPanel  extends JLayeredPane&lt;br /&gt;{&lt;br /&gt;   private Color color1 = new Color(255,255,255);&lt;br /&gt;   private Color color2 = new Color(0,0,0);&lt;br /&gt;    private int arcw=25;&lt;br /&gt;   private int arch=25;&lt;br /&gt;&lt;br /&gt;   @Override&lt;br /&gt;   protected void paintComponent(Graphics g)&lt;br /&gt;   {&lt;br /&gt;       Graphics2D g2 = (Graphics2D) g.create();&lt;br /&gt;       float x=getWidth();&lt;br /&gt;       float y=getHeight();&lt;br /&gt;       g2.setPaint(new GradientPaint(0.0f, 0.0f, getColor1().darker(),&lt;br /&gt;               0.0f, getHeight(), getColor2().darker()));&lt;br /&gt;       g2.fill(new RoundRectangle2D.Double(0, 0, x, y, getArcw(),getArch()));&lt;br /&gt;       g2.setPaint(new GradientPaint(0.0f, 0.0f,getColor2(),&lt;br /&gt;                   getWidth(), getHeight(),getColor1()));&lt;br /&gt;       g2.drawRoundRect(0, 0, getWidth() , getHeight(), getArcw()+2,getArch()+2);&lt;br /&gt;       g2.setPaint(Color.black);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public int getArch() {&lt;br /&gt;       return arch;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void setArch(int arch) {&lt;br /&gt;       this.arch = arch;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public int getArcw() {&lt;br /&gt;       return arcw;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   public void setArcw(int arcw) {&lt;br /&gt;       this.arcw = arcw;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  //Métodos set y get que nos permiten modificar los colores&lt;br /&gt;&lt;br /&gt;   public Color getColor1() {return color1;}&lt;br /&gt;&lt;br /&gt;   public void setColor1(Color color1) {this.color1 = color1;}&lt;br /&gt;&lt;br /&gt;   public Color getColor2() {return color2;}&lt;br /&gt;&lt;br /&gt;   public void setColor2(Color color2){this.color2 = color2;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Y para agregarlo a su JFrame esta en la parte 1 de este pequeñito tutorial, mas o memos le debería quedar algo como esto.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/Si2W2EOvHDI/AAAAAAAAAGc/J8E6vtryKAM/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/Si2W2EOvHDI/AAAAAAAAAGc/J8E6vtryKAM/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5345094188351298610" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-3567220902493842041?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/3567220902493842041/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=3567220902493842041' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3567220902493842041'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3567220902493842041'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/06/jpanel-con-gradiente-redondeado-con.html' title='JPanel con Gradiente redondeado con widgets de swing para Netbeans (Parte 2)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LqD7mWOFVm8/Si2W2EOvHDI/AAAAAAAAAGc/J8E6vtryKAM/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-345184156496321961</id><published>2009-05-29T15:46:00.000-07:00</published><updated>2009-05-29T16:45:15.759-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gradiente'/><category scheme='http://www.blogger.com/atom/ns#' term='netbeans'/><category scheme='http://www.blogger.com/atom/ns#' term='widgets de swing'/><category scheme='http://www.blogger.com/atom/ns#' term='JPanel'/><title type='text'>JPanel con Gradiente con widgets de swing para Netbeans (Parte 1)</title><content type='html'>Que tal hace unos días tuve la necesidad de crear una interfaz de tipo escritorio por supuesto en java, pero no me gustan la apariencia de sus widgets así que me puse a investigar un poco y encontré como hacer un panel con gradiente cosa que explicare más adelante, después un amigo donde trabajo encontró una libreria de widgest para swing&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBnGMjSFRI/AAAAAAAAAEM/yfxHnAYmIvE/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBnGMjSFRI/AAAAAAAAAEM/yfxHnAYmIvE/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5341382514207495442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;después quede muy sorprendido puesto que la GUI que hice se ve bastante mejor bueno; les explico primero como hacer un panel con gradiente el código fue tomado de muchos blogs el código es este:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package vista;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.GradientPaint;&lt;br /&gt;import java.awt.Graphics;&lt;br /&gt;import java.awt.Graphics2D;&lt;br /&gt;import java.awt.Rectangle;&lt;br /&gt;import javax.swing.JLayeredPane;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* @author  Salazar Reque Miguel&lt;br /&gt;*/&lt;br /&gt;public class IPanel  extends JLayeredPane&lt;br /&gt;{&lt;br /&gt;private Color color1 = new Color(255,255,255);&lt;br /&gt;private Color color2 = new Color(0,0,0);&lt;br /&gt;&lt;br /&gt;@Override&lt;br /&gt;protected void paintComponent(Graphics g)&lt;br /&gt;{&lt;br /&gt;Graphics2D g2 = (Graphics2D) g.create();&lt;br /&gt;Rectangle clip = g2.getClipBounds();&lt;br /&gt;float x=getWidth();&lt;br /&gt;float y=getHeight();&lt;br /&gt;g2.setPaint(new GradientPaint(0.0f, 0.0f, getColor1().darker(),&lt;br /&gt;    0.0f, getHeight(), getColor2().darker()));&lt;br /&gt;g2.fillRect(clip.x, clip.y, clip.width, clip.height);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//Métodos set y get que nos permiten modificar los colores&lt;br /&gt;&lt;br /&gt;public Color getColor1() {return color1;}&lt;br /&gt;&lt;br /&gt;public void setColor1(Color color1) {this.color1 = color1;}&lt;br /&gt;&lt;br /&gt;public Color getColor2() {return color2;}&lt;br /&gt;&lt;br /&gt;public void setColor2(Color color2){this.color2 = color2;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;se preguntaran porque hereda de JLayeredPane y no de JPanel la respuesta es porque lo vamos a agregar a un panel form de netbeans y este panel se pueden soltar y arrastrar  puesto que tiene propiedades diferentes a un Jpanel.&lt;br /&gt;&lt;br /&gt;Paso 1.&lt;br /&gt;&lt;br /&gt;Crear un proyecto en Netbeans.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBpJVblfrI/AAAAAAAAAEU/9xb4jMF-INg/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBpJVblfrI/AAAAAAAAAEU/9xb4jMF-INg/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5341384767153995442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2. Crear un paquete que se llame vista o como se les de la gana por ejemplo:&lt;br /&gt;influenza.porcina&lt;br /&gt;influenza.marciana&lt;br /&gt;&lt;br /&gt;3. Crear una clase que se llama IPanel y copiar el código de arriba.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/SiBqHeGaLnI/AAAAAAAAAEc/DE_8RnH6Rbo/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/SiBqHeGaLnI/AAAAAAAAAEc/DE_8RnH6Rbo/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5341385834632982130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Crear un JPanel Form -&gt; dan click derecho en el paquete de su proyecto, si no aparece esa opción, hay mismo busquen other...&lt;br /&gt;&lt;br /&gt;aparecerá una ventana como esta:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/SiBrbW6eS3I/AAAAAAAAAEk/2OSD6U_CwBA/s1600-h/Pantallazo-3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/SiBrbW6eS3I/AAAAAAAAAEk/2OSD6U_CwBA/s320/Pantallazo-3.png" alt="" id="BLOGGER_PHOTO_ID_5341387275812883314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;den next y pongan el nombre que ustedes quieran en este caso se llamara Panel, el proyecto hasta ahora esta mas o menos así:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SiBsnns70_I/AAAAAAAAAEs/0gW8ZQBqZN8/s1600-h/Pantallazo-4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SiBsnns70_I/AAAAAAAAAEs/0gW8ZQBqZN8/s320/Pantallazo-4.png" alt="" id="BLOGGER_PHOTO_ID_5341388585989559282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4.1 * Vayan por un refresco al Oxxo mas cercano o por una cerveza, y me invitan una vale.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBtRqMUW1I/AAAAAAAAAE0/QsTAVGF3jME/s1600-h/oxxo4iu.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 226px; height: 177px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBtRqMUW1I/AAAAAAAAAE0/QsTAVGF3jME/s320/oxxo4iu.png" alt="" id="BLOGGER_PHOTO_ID_5341389308212566866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;5. Despues como diablos agregar nuestra clase a nuestro Panel una es hacer una jar y agregarlo a la palette de netbeans y otro es ocupar Beans en especial la opción de choose bean, antes compilen todo el pequete vista quieren...&lt;br /&gt;&lt;br /&gt;aparecera una venta con un campo de texto:&lt;br /&gt;&lt;br /&gt;escriban   vista.IPanel y listo tienen su panel con gradiente super chido.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBu7v0Ua4I/AAAAAAAAAE8/97q1NyMQA5w/s1600-h/Pantallazo-5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBu7v0Ua4I/AAAAAAAAAE8/97q1NyMQA5w/s320/Pantallazo-5.png" alt="" id="BLOGGER_PHOTO_ID_5341391130788653954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6. pueden hacer mas grande el IPanel o combiar sus colores&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SiBvMzkOzVI/AAAAAAAAAFE/5RCtfolPSRs/s1600-h/Pantallazo-7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SiBvMzkOzVI/AAAAAAAAAFE/5RCtfolPSRs/s320/Pantallazo-7.png" alt="" id="BLOGGER_PHOTO_ID_5341391423852694866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;click derecho en panel propiedades color1 y color2, como pueden notar los los atributos de nuestra clase IPanel.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SiBw-hI62II/AAAAAAAAAFM/heHV2ppCe5Q/s1600-h/Pantallazo-8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SiBw-hI62II/AAAAAAAAAFM/heHV2ppCe5Q/s320/Pantallazo-8.png" alt="" id="BLOGGER_PHOTO_ID_5341393377411389570" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;7. agregarlo a un JFrame Form&lt;br /&gt;Esta en las opciones del paso 4:&lt;br /&gt;&lt;br /&gt;Compilar el paquete vista ir a la papeleta en Beans elegir nuevamente Choose beans escribir ahora vista.Panel&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SiByZP8A95I/AAAAAAAAAFU/Ecdq5ugTZ1o/s1600-h/Pantallazo-9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SiByZP8A95I/AAAAAAAAAFU/Ecdq5ugTZ1o/s320/Pantallazo-9.png" alt="" id="BLOGGER_PHOTO_ID_5341394936161957778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dar Ok, arrastrarle hasta el JFrame form y listo.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SiByrWErtEI/AAAAAAAAAFc/5UWIXioTYj8/s1600-h/Pantallazo-11.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SiByrWErtEI/AAAAAAAAAFc/5UWIXioTYj8/s320/Pantallazo-11.png" alt="" id="BLOGGER_PHOTO_ID_5341395247046571074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Después vayan a la clase Ventanita denle run y listo, tiene que aparecer algo mas o menos asi.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBzZuSsDBI/AAAAAAAAAFs/C31pWl7wN6w/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBzZuSsDBI/AAAAAAAAAFs/C31pWl7wN6w/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5341396043821747218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* el paso 4.1 no es necesario pero te ayudara a relajarte, pero puede hacer que te encuentres con un embotellamiento alcoholico y no te permita terminar este pequeñito proyecto&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-345184156496321961?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/345184156496321961/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=345184156496321961' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/345184156496321961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/345184156496321961'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/05/jpanel-con-gradiente-con-widgets-de.html' title='JPanel con Gradiente con widgets de swing para Netbeans (Parte 1)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LqD7mWOFVm8/SiBnGMjSFRI/AAAAAAAAAEM/yfxHnAYmIvE/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-2900048983620329539</id><published>2009-04-22T12:11:00.000-07:00</published><updated>2009-04-22T12:21:17.555-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='wxPython'/><category scheme='http://www.blogger.com/atom/ns#' term='eventos'/><title type='text'>wxPython</title><content type='html'>Hola, si alguien esta interesado en en aprender wxPython encontre un tutorial bastante bueno para aprender a manejar widgests, eventos, es muy básico pero a mi me funciono para entender aqui el codigo y el link :&lt;a href="http://www.retronet.com.ar/?q=node/148"&gt;http://www.retronet.com.ar/?q=node/148&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;#!/usr/bin/python&lt;br /&gt;try:&lt;br /&gt;   import wx&lt;br /&gt;except ImportError:&lt;br /&gt;   raise ImportError,"Se requiere el modulo wxPython"&lt;br /&gt;&lt;br /&gt;class simpleapp_wx(wx.Frame):&lt;br /&gt;   def __init__(self,parent,id,title):&lt;br /&gt;       wx.Frame.__init__(self,parent,id,title)&lt;br /&gt;       self.parent = parent&lt;br /&gt;       self.initialize()&lt;br /&gt;&lt;br /&gt;   def initialize(self):&lt;br /&gt;       grilla = wx.GridBagSizer()&lt;br /&gt;       self.entrada = wx.TextCtrl(self,-1,value=u"Ingrese un texto:", style=wx.TE_PROCESS_ENTER)&lt;br /&gt;       grilla.Add(self.entrada,(0,0),(1,1),wx.EXPAND)&lt;br /&gt;       self.entrada.Bind(wx.EVT_TEXT_ENTER, self.SiPulsaEnter)&lt;br /&gt;       boton = wx.Button(self,-1,label="Pulsame !")&lt;br /&gt;       grilla.Add(boton, (0,1))&lt;br /&gt;       boton.Bind (wx.EVT_BUTTON, self.SiCliqueaBoton)&lt;br /&gt;       self.etiqueta = wx.StaticText(self,-1,label='Hola !')&lt;br /&gt;       self.etiqueta.SetBackgroundColour(wx.BLUE)&lt;br /&gt;       self.etiqueta.SetForegroundColour(wx.RED)&lt;br /&gt;       grilla.Add(self.etiqueta, (1,0),(1,2), wx.EXPAND )&lt;br /&gt;       grilla.AddGrowableCol(0)&lt;br /&gt;       self.SetSizerAndFit(grilla)&lt;br /&gt;       self.SetSizeHints(-1,self.GetSize().y,-1,self.GetSize().y )&lt;br /&gt;       self.entrada.SetFocus()&lt;br /&gt;       self.entrada.SetSelection(-1,-1)&lt;br /&gt;       self.Show(True);&lt;br /&gt;&lt;br /&gt;   def SiCliqueaBoton(self,event):&lt;br /&gt;       self.etiqueta.SetLabel(self.entrada.GetValue() +  "Cliqueo el boton!")&lt;br /&gt;       self.entrada.SetFocus()&lt;br /&gt;       self.entrada.SetSelection(-1,-1)&lt;br /&gt;&lt;br /&gt;   def SiPulsaEnter(self,event):&lt;br /&gt;       self.etiqueta.SetLabel(self.entrada.GetValue() + "Pulso enter!")&lt;br /&gt;       self.entrada.SetFocus()&lt;br /&gt;       self.entrada.SetSelection(-1,-1)&lt;br /&gt;&lt;br /&gt;if __name__ == "__main__":&lt;br /&gt;   app = wx.App()&lt;br /&gt;   frame = simpleapp_wx(None,-1,'Mi aplicacion')&lt;br /&gt;   app.MainLoop()&lt;br /&gt;&lt;br /&gt;En esta pagina se explica cada metodo, y como ejecutarlo desde la terminal, les tiene que abrir una ventana como la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/Se9tyYVbVjI/AAAAAAAAAEE/69krDtZX2v4/s1600-h/Pantallazo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/Se9tyYVbVjI/AAAAAAAAAEE/69krDtZX2v4/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5327597596495795762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Adios......&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-2900048983620329539?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/2900048983620329539/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=2900048983620329539' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2900048983620329539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/2900048983620329539'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/04/wxpython.html' title='wxPython'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/Se9tyYVbVjI/AAAAAAAAAEE/69krDtZX2v4/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-307787089461650655</id><published>2009-03-31T18:50:00.000-07:00</published><updated>2009-06-17T18:22:57.077-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='js ext'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='GWT NETBEANS JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt ext'/><category scheme='http://www.blogger.com/atom/ns#' term='GWTEXT'/><title type='text'>Como configurar GWT-EXT en NetBeans</title><content type='html'>Como configurar GWT-EXT,  primero tienen que descargar el jar de Gwt-Ext y  la libreria de java script que nos permite manejar widgets (Js-Ext), de este sitio &lt;a href="http://gwt-ext.com/download/"&gt;http://gwt-ext.com/download/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Paso 1: El mas importante, tener ganas de terminar este pequeñito tutorial.&lt;br /&gt;&lt;br /&gt;Paso 2: Copiamos las libreria de js-ext, pero se preguntaran donde diablos esta,&lt;br /&gt;&lt;a href="http://yogurtearl.com/ext-2.0.2.zip"&gt;http://yogurtearl.com/ext-2.0.2.zip&lt;/a&gt; , la reombramos con js y la copiamos a nuestro proyecto dentro de Web Pages&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjmDMnTJANI/AAAAAAAAAHM/u0xCj_F1_Cs/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjmDMnTJANI/AAAAAAAAAHM/u0xCj_F1_Cs/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5348450285210108114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Después debería estar así:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjmESwyA7pI/AAAAAAAAAHU/4vqKzUMRCw4/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjmESwyA7pI/AAAAAAAAAHU/4vqKzUMRCw4/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5348451490346364562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3. Agregamos el jar de gwtext.jar que esta en el zip en libreries de nuestro proyecto:&lt;br /&gt;&lt;br /&gt;Dar click derecho en libreries, ADD jar/Folder.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjmFywPkIQI/AAAAAAAAAHc/swPjSelgdHU/s1600-h/Pantallazo-4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/SjmFywPkIQI/AAAAAAAAAHc/swPjSelgdHU/s320/Pantallazo-4.png" alt="" id="BLOGGER_PHOTO_ID_5348453139469312258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4. Configuar Main.gwt.xml este archivo esta nuestro MainEntryPoint, este tiene quien es la clase principal que contiene el metodo para iniciar una aplicación gwt, debemos colocar lo siguiente tag : &lt;code&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;inherits name="com.gwtext.GwtExt"/&amp;gt;&lt;/code&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;module&amp;gt;&lt;br /&gt;&amp;lt;inherits name="com.google.gwt.user.User"/&amp;gt;&lt;br /&gt;&amp;lt;entry-point class="org.siir.client.MainEntryPoint"/&amp;gt;&lt;br /&gt;&amp;lt;!-- Do not define servlets here, use web.xml --&amp;gt;&lt;br /&gt;&amp;lt;inherits name="com.gwtext.GwtExt"/&amp;gt;&lt;br /&gt;&amp;lt;/module&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/SjmSYHma53I/AAAAAAAAAHk/-p9yVXc60hY/s1600-h/Pantallazo-5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/SjmSYHma53I/AAAAAAAAAHk/-p9yVXc60hY/s320/Pantallazo-5.png" alt="" id="BLOGGER_PHOTO_ID_5348466975533885298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. Tomen un descanso&lt;br /&gt;&lt;br /&gt;6. Configuarar las librerias de js en html o jsp donde va a estar alojada nuestra aplicación gwt, para este ejemplo sera: welcomeGwt.html, primero borren lo que tienen y copian lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;   &amp;lt;meta name='gwt:module' content='org.yournamehere.Main=org.yournamehere.Main'&amp;gt;&lt;br /&gt;   &amp;lt;title&amp;gt;Main&amp;lt;/title&amp;gt;&lt;br /&gt;   &amp;lt;link rel="stylesheet" type="text/css" href="js/resources/css/ext-all.css"/&amp;gt;&lt;br /&gt;   &amp;lt;link rel="stylesheet" type="text/css" href="js/resources/css/xtheme-gray.css" /&amp;gt;&lt;br /&gt;   &amp;lt;script type="text/javascript" src="js/adapter/yui/yui-utilities.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;   &amp;lt;script type="text/javascript" src="js/adapter/yui/ext-yui-adapter.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;   &amp;lt;script type="text/javascript" src="js/ext-all.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;   &amp;lt;script language="javascript" src="org.yournamehere.Main/org.yournamehere.Main.nocache.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SjmSlQin5UI/AAAAAAAAAHs/LbrigqNR-Lo/s1600-h/Pantallazo-6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SjmSlQin5UI/AAAAAAAAAHs/LbrigqNR-Lo/s320/Pantallazo-6.png" alt="" id="BLOGGER_PHOTO_ID_5348467201272177986" border="0" /&gt;&lt;/a&gt;7. Llamen a ala policía escucho ruidos extraños en mi cubículo...&lt;br /&gt;En este paquete org.yournamehere.client  hay una clase que es la principal-&gt; MainEntryPoint remplacen su código por este:&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* MainEntryPoint.java&lt;br /&gt;*&lt;br /&gt;* Created on 17 de junio de 2009, 06:39 PM&lt;br /&gt;*&lt;br /&gt;* To change this template, choose Tools | Template Manager&lt;br /&gt;* and open the template in the editor.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;package org.yournamehere.client;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.core.client.EntryPoint;&lt;br /&gt;import com.gwtext.client.core.RegionPosition;&lt;br /&gt;import com.gwtext.client.widgets.Panel;&lt;br /&gt;import com.gwtext.client.widgets.TabPanel;&lt;br /&gt;import com.gwtext.client.widgets.Window;&lt;br /&gt;import com.gwtext.client.widgets.layout.BorderLayout;&lt;br /&gt;import com.gwtext.client.widgets.layout.BorderLayoutData;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class MainEntryPoint implements EntryPoint {&lt;br /&gt;&lt;br /&gt; /** Creates a new instance of MainEntryPoint */&lt;br /&gt; public MainEntryPoint() {&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * The entry point method, called automatically by loading a module&lt;br /&gt;  * that declares an implementing class as an entry-point&lt;br /&gt;  */&lt;br /&gt; public void onModuleLoad() {&lt;br /&gt;&lt;br /&gt;      TabPanel tabPanel = new TabPanel();&lt;br /&gt;      tabPanel.setActiveTab(0);&lt;br /&gt;&lt;br /&gt;      Panel tab1 = new Panel();&lt;br /&gt;      tab1.setTitle("Bogus Tab");&lt;br /&gt;      tab1.setHtml(getBogusMarkup());&lt;br /&gt;      tab1.setAutoScroll(true);&lt;br /&gt;&lt;br /&gt;      Panel tab2 = new Panel();&lt;br /&gt;      tab2.setTitle("Another Tab");&lt;br /&gt;      tab2.setHtml(getBogusMarkup());&lt;br /&gt;      tab2.setAutoScroll(true);&lt;br /&gt;&lt;br /&gt;      Panel tab3 = new Panel();&lt;br /&gt;      tab3.setTitle("Closable Tab");&lt;br /&gt;      tab3.setHtml(getBogusMarkup());&lt;br /&gt;      tab3.setAutoScroll(true);&lt;br /&gt;      tab3.setClosable(true);&lt;br /&gt;&lt;br /&gt;      tabPanel.add(tab1);&lt;br /&gt;      tabPanel.add(tab2);&lt;br /&gt;      tabPanel.add(tab3);&lt;br /&gt;&lt;br /&gt;      //west panel&lt;br /&gt;      Panel navPanel = new Panel();&lt;br /&gt;      navPanel.setTitle("Navigation");&lt;br /&gt;      navPanel.setWidth(200);&lt;br /&gt;      navPanel.setCollapsible(true);&lt;br /&gt;&lt;br /&gt;      BorderLayoutData centerData = new BorderLayoutData(RegionPosition.CENTER);&lt;br /&gt;      centerData.setMargins(3, 0, 3, 3);&lt;br /&gt;&lt;br /&gt;      BorderLayoutData westData = new BorderLayoutData(RegionPosition.WEST);&lt;br /&gt;      westData.setSplit(true);&lt;br /&gt;      westData.setMargins(3, 3, 0, 3);&lt;br /&gt;     westData.setCMargins(3, 3, 3, 3);&lt;br /&gt;&lt;br /&gt;       final Window window = new Window();&lt;br /&gt;      window.setTitle("Layout Window");&lt;br /&gt;      window.setClosable(true);&lt;br /&gt;      window.setWidth(600);&lt;br /&gt;      window.setHeight(350);&lt;br /&gt;      window.setPlain(true);&lt;br /&gt;      window.setLayout(new BorderLayout());&lt;br /&gt;      window.add(tabPanel, centerData);&lt;br /&gt;      window.add(navPanel, westData);&lt;br /&gt;      window.setCloseAction(Window.HIDE);&lt;br /&gt;      window.show();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;   private static String getBogusMarkup() {&lt;br /&gt;      return "&lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. " +&lt;br /&gt;              "Sed metus nibh, sodales a, porta at, vulputate eget, dui.  " +&lt;br /&gt;             "In pellentesque nisl non sem. Suspendisse nunc sem, pretium eget, " +&lt;br /&gt;              "cursus a, fringilla vel, urna.";&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Primero crea un TabPanel con tres pestañas y después es agregado ala ventana en la posición del centro atravez de:&lt;/p&gt;&lt;p&gt; BorderLayoutData centerData = new BorderLayoutData(RegionPosition.CENTER);&lt;br /&gt;       centerData.setMargins(3, 0, 3, 3);&lt;/p&gt;&lt;p&gt;También contiene otro panel en zona oeste que es agregado a la ventana con:&lt;/p&gt;&lt;p&gt;BorderLayoutData westData = new BorderLayoutData(RegionPosition.WEST);&lt;br /&gt;       westData.setSplit(true);&lt;br /&gt;       westData.setMargins(3, 3, 0, 3);&lt;br /&gt;      westData.setCMargins(3, 3, 3, 3);&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;8 . Run al archivo welcomeGwt.html despues tendran algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/SjmUfO5ierI/AAAAAAAAAH0/o0njKI0WpQQ/s1600-h/Pantallazo-7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/SjmUfO5ierI/AAAAAAAAAH0/o0njKI0WpQQ/s320/Pantallazo-7.png" alt="" id="BLOGGER_PHOTO_ID_5348469296775461554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Como ven es facil se pueden hacer aplicaciones bastantes vistosas, ademas de ser rapidas, depues explicare como comunicar estas GUI mediante RPC con aplicaciones cliente servidor...&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Continuara&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-307787089461650655?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/307787089461650655/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=307787089461650655' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/307787089461650655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/307787089461650655'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/proximamente-como-configurar-gwt-ext-y.html' title='Como configurar GWT-EXT en NetBeans'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LqD7mWOFVm8/SjmDMnTJANI/AAAAAAAAAHM/u0xCj_F1_Cs/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6476276931806322099</id><published>2009-03-31T17:18:00.000-07:00</published><updated>2009-06-08T16:07:15.050-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gwt ext'/><category scheme='http://www.blogger.com/atom/ns#' term='jsp'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt ext combobox'/><category scheme='http://www.blogger.com/atom/ns#' term='remoto'/><title type='text'>ComboBox remoto con GWT-EXT (json,jsp) con Java</title><content type='html'>Bueno supongamos que tenemos una tabla en alguna bd, y lo único que nos interesa es hacer un combobox que muestre un nombre y que tenga como value una clave:&lt;br /&gt;&lt;br /&gt;sql:&lt;br /&gt;select cvetpocit,nomtpocit from reftpocit&lt;br /&gt;&lt;br /&gt;el modelo seria algo como esto:&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class Citacion {&lt;br /&gt;&lt;br /&gt;private String cve;&lt;br /&gt;private String nombre;&lt;br /&gt;&lt;br /&gt;public String getCve() {&lt;br /&gt;return cve;&lt;br /&gt;}&lt;br /&gt;public void setCve(String cve) {&lt;br /&gt;this.cve = cve;&lt;br /&gt;}&lt;br /&gt;public String getNombre() {&lt;br /&gt;return nombre;&lt;br /&gt;}&lt;br /&gt;public void setNombre(String nombre) {&lt;br /&gt;this.nombre = nombre;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;el contenedor hecho con una conexion jdbc de java:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import conexion.connectionSelGWT;&lt;br /&gt;import java.sql.Connection;&lt;br /&gt;import java.sql.ResultSet;&lt;br /&gt;import java.sql.SQLException;&lt;br /&gt;import java.sql.Statement;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;import xxx.xxx.client.referencia.modelo.Citacion;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;public class ContenedorTpoCitacion {&lt;br /&gt;&lt;br /&gt;private Connection conexion;&lt;br /&gt;private Statement instruccion;&lt;br /&gt;&lt;br /&gt;public ContenedorTpoCitacion() throws SQLException {&lt;br /&gt; connectionSelGWT conectaBase = new connectionSelGWT();&lt;br /&gt; conexion = conectaBase.conectBase();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public List&amp;lt;Citacion&amp;gt; getTpoCitacion() throws SQLException{&lt;br /&gt; List&amp;lt;Citacion&amp;gt; list = new ArrayList&amp;lt;Citacion&amp;gt;();&lt;br /&gt;  String query = "select cvetpocit,nomtpocit from reftpocit";&lt;br /&gt; instruccion = conexion.createStatement();&lt;br /&gt; ResultSet resultados2 = instruccion.executeQuery(query);&lt;br /&gt; while (resultados2.next()) {&lt;br /&gt;    Citacion citacion = new  Citacion();&lt;br /&gt;    citacion.setCve(resultados2.getString(1));&lt;br /&gt;    citacion.setNombre(resultados2.getString(2));&lt;br /&gt;    list.add(citacion);&lt;br /&gt; }&lt;br /&gt; resultados2.close();&lt;br /&gt; conexion.close();&lt;br /&gt; return list;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;Esta es clase de la conexion aunque pueden ocupar la suya, despues voy a hacer un ejemplo con hibernate:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;import java.sql.*;&lt;br /&gt;import java.util.Vector;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* A Class class.&lt;br /&gt;* &lt;p&gt;&lt;br /&gt;* @author Mew&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class connectionSelGWT{&lt;br /&gt;&lt;br /&gt;private Connection conexion;&lt;br /&gt;public Connection conectBase(){&lt;br /&gt;String URL = "jdbc:oracle:thin:@suip_o_localhost:1521:su_SID";&lt;br /&gt;String userid = "su_usuario";&lt;br /&gt;String password= "su_pass";&lt;br /&gt;connect();&lt;br /&gt;try {&lt;br /&gt;conexion = DriverManager.getConnection(URL, userid, password);&lt;br /&gt;&lt;br /&gt;}catch (SQLException E) {&lt;br /&gt;return conexion=null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return conexion;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;El contenedor:&lt;br /&gt;&lt;br /&gt;import conexion.connectionSelGWT;&lt;br /&gt;import java.sql.Connection;&lt;br /&gt;import java.sql.ResultSet;&lt;br /&gt;import java.sql.SQLException;&lt;br /&gt;import java.sql.Statement;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.List;&lt;br /&gt;import xxxx.xxx.referencias.modelo.Citacion;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class ContenedorTpoCitacion {&lt;br /&gt;private Connection conexion;&lt;br /&gt;private Statement instruccion;&lt;br /&gt;&lt;br /&gt;public ContenedorTpoCitacion() throws SQLException {&lt;br /&gt;connectionSelGWT conectaBase = new connectionSelGWT();&lt;br /&gt;conexion = conectaBase.conectBase();&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public List&lt;citacion&gt; getTpoCitacion() throws SQLException{&lt;br /&gt;List&lt;citacion&gt; list = new ArrayList&lt;citacion&gt;();&lt;br /&gt;&lt;br /&gt;String query = "select cvetpocit,nomtpocit from reftpocit";&lt;br /&gt;&lt;br /&gt;instruccion = conexion.createStatement();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ResultSet resultados2 = instruccion.executeQuery(query);&lt;br /&gt;while (resultados2.next()) {&lt;br /&gt;Citacion citacion = new  Citacion();&lt;br /&gt;citacion.setCve(resultados2.getString(1));&lt;br /&gt;citacion.setNombre(resultados2.getString(2));&lt;br /&gt;list.add(citacion);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;resultados2.close();&lt;br /&gt;conexion.close();&lt;br /&gt;return list;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;La clase que crea la estructura del json para la vista:&lt;br /&gt;&lt;citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import java.sql.SQLException;&lt;br /&gt;import java.util.List;&lt;br /&gt;import java.util.logging.Level;&lt;br /&gt;import java.util.logging.Logger;&lt;br /&gt;import org.json.JSONArray;&lt;br /&gt;import org.json.JSONException;&lt;br /&gt;import org.json.JSONObject;&lt;br /&gt;import xxx.xxx.client.referencia.modelo.Citacion;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class JsonCitacion {&lt;br /&gt;&lt;br /&gt;public String getTpsCitacion() throws JSONException, SQLException{&lt;br /&gt;ContenedorTpoCitacion con = new ContenedorTpoCitacion();&lt;br /&gt;List&amp;lt;Citacion&amp;gt; list = con.getTpoCitacion();&lt;br /&gt;JSONObject  jsonObj = new JSONObject();&lt;br /&gt;jsonObj.put("totalCount",list.size()+"");&lt;br /&gt;JSONArray array = new JSONArray();&lt;br /&gt;for(Citacion ci:list){&lt;br /&gt;JSONObject jsonDatos = new JSONObject();&lt;br /&gt;jsonDatos.put("cve",ci.getCve());&lt;br /&gt;jsonDatos.put("nombre",ci.getNombre());&lt;br /&gt;array.put(jsonDatos);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;    jsonObj.put("datos",array);&lt;br /&gt;return jsonObj.toString();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String[] args)  {&lt;br /&gt;JsonCitacion json = new JsonCitacion();&lt;br /&gt;&lt;br /&gt;   try {&lt;br /&gt;&lt;br /&gt;       System.out.println(json.getTpsCitacion());&lt;br /&gt;&lt;br /&gt;   } catch (JSONException ex) {&lt;br /&gt;&lt;br /&gt;       Logger.getLogger(JsonCitacion.class.getName()).log(Level.SEVERE, null, ex);&lt;br /&gt;&lt;br /&gt;   } catch (SQLException ex) {&lt;br /&gt;       Logger.getLogger(JsonCitacion.class.getName()).log(Level.SEVERE, null, ex);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;br /&gt;la estructura que recibiria el combo de GWT-EXT seria la siguiente:&lt;br /&gt;&lt;br /&gt;{"totalCount":"2","datos":[{"nombre":"Periodica","cve":"1"},{"nombre":"No Periodica","cve":"2"}]}&lt;br /&gt;&lt;br /&gt;* las xxx son paquetes con nombre de mi trabajo pero bien le pueden poner otro nombre, es para que no vean donde trabajo jijijiji+++++.&lt;br /&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;el jsp llamado jsoncitas.jsp&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt;&lt;br /&gt;&lt;%@page import="xxx.xxxx.referencias.mc.JsonCitacion"%&gt;&lt;br /&gt;&lt;%@page import="java.sql.SQLException"%&gt;&lt;br /&gt;&lt;%@page import="org.json.*"%&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;%  JsonCitacion json = new JsonCitacion();         try {             out.print(json.getTpsCitacion());         } catch (JSONException ex) {          } catch (SQLException ex) {                    }  %&gt;&lt;br /&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt; y por ultimo el combox solo pondre el codigo del combo, solo lo tienen que agregar a un panel y listo:&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;HttpProxy   dataProxy = new HttpProxy("jsoncitas.jsp");&lt;br /&gt;RecordDef  recordDef = new RecordDef(new FieldDef[]{&lt;br /&gt;          new StringFieldDef("cve", "cve"),&lt;br /&gt;          new StringFieldDef("nombre", "nombre")&lt;br /&gt;      });&lt;br /&gt;JsonReader  reader4 = new JsonReader(recordDef);&lt;br /&gt;reader4.setRoot("datos");&lt;br /&gt;reader4.setTotalProperty("totalCount");&lt;br /&gt;Store   store5 = new Store(dataProxy, reader4);&lt;br /&gt;store5.load();&lt;br /&gt;&lt;br /&gt;final ComboBox cbCitacion = new ComboBox();&lt;br /&gt;cbCitacion.setStore(store5);&lt;br /&gt;cbCitacion.setForceSelection(true);&lt;br /&gt;cbCitacion.setMinChars(1);&lt;br /&gt;cbCitacion.setFieldLabel("Tipo citación");&lt;br /&gt;cbCitacion.setDisplayField("nombre");&lt;br /&gt;cbCitacion.setMode(ComboBox.REMOTE);&lt;br /&gt;cbCitacion.setTriggerAction(ComboBox.ALL);&lt;br /&gt;cbCitacion.setEmptyText("Enter tpo citación");&lt;br /&gt;cbCitacion.setLoadingText("Searching...");&lt;br /&gt;cbCitacion.setTypeAhead(true);&lt;br /&gt;cbCitacion.setSelectOnFocus(true);&lt;br /&gt;cbCitacion.setWidth(200);&lt;br /&gt;cbCitacion.setHideTrigger(false);&lt;br /&gt;cbCitacion.addListener(new ComboBoxListenerAdapter() {&lt;br /&gt;&lt;br /&gt;  public void onSelect(ComboBox comboBox, Record record, int index) {&lt;br /&gt;&lt;br /&gt;    String  tpoCita = Integer.parseInt(record.getAsString("cve"));&lt;br /&gt;      MessageBox.alert("hola "+tpoCita);&lt;br /&gt;  }&lt;br /&gt;});&lt;br /&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt; y por ultimo les debe quedar algo como esto:&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/SdLHe-meIVI/AAAAAAAAAD8/0C9lonXuv0Y/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/SdLHe-meIVI/AAAAAAAAAD8/0C9lonXuv0Y/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5319533444892336466" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;/citacion&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-6476276931806322099?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6476276931806322099/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6476276931806322099' title='4 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6476276931806322099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6476276931806322099'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/combobox-remoto-con-gwt-ext-jsonjsp-con.html' title='ComboBox remoto con GWT-EXT (json,jsp) con Java'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/SdLHe-meIVI/AAAAAAAAAD8/0C9lonXuv0Y/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-8290173498772010203</id><published>2009-03-26T12:24:00.000-07:00</published><updated>2009-03-26T12:35:28.621-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='no matarla al cerrar la terminal'/><category scheme='http://www.blogger.com/atom/ns#' term='bd nativa'/><category scheme='http://www.blogger.com/atom/ns#' term='exist'/><title type='text'>exist base de datos nativa</title><content type='html'>Es muy facil de instalar solo tienen que descargarla de este link &lt;a href="http://exist.sourceforge.net/"&gt;http://exist.sourceforge.net/&lt;/a&gt; y colocar lo siguiente:&lt;br /&gt;&lt;br /&gt;isaac@mew:~$ java -jar eXist-setup-1.2.5-rev8668.jar&lt;br /&gt;&lt;br /&gt;claro antes deben posicionarse en la ruta donde esta el jar&lt;br /&gt;&lt;br /&gt;para levantar la base:&lt;br /&gt;&lt;br /&gt;isaac@mew:~$ cd /home/isaac/eXist/bin/&lt;br /&gt;isaac@mew:~/eXist/bin$ &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;nohup ./startup.sh &amp;amp;&lt;/span&gt;&lt;br /&gt;[1] 15683&lt;br /&gt;isaac@mew:~/eXist/bin$ nohup: se ignora la entrada y se añade la salida a «nohup.out»&lt;br /&gt;&lt;br /&gt;isaac@mew:~/eXist/bin$&lt;br /&gt;&lt;br /&gt;la linea un rojo es muy importante puesto que crea un proceso que no depende del proceso que lo lanzo en este caso el shell asi cuando cierren la terminal, la bd exist seguira viva&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/ScvYDHKBWUI/AAAAAAAAAD0/yUaFsYuxBgc/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/ScvYDHKBWUI/AAAAAAAAAD0/yUaFsYuxBgc/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5317581333013289282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;y para matarla&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;isaac@mew:~/eXist/bin$ ./shutdown.sh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-8290173498772010203?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/8290173498772010203/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=8290173498772010203' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8290173498772010203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8290173498772010203'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/exist-base-de-datos-nativa.html' title='exist base de datos nativa'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_LqD7mWOFVm8/ScvYDHKBWUI/AAAAAAAAAD0/yUaFsYuxBgc/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-8187409601489269496</id><published>2009-03-26T12:20:00.000-07:00</published><updated>2009-03-26T12:23:49.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAI'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Harvester'/><category scheme='http://www.blogger.com/atom/ns#' term='Cosechador'/><title type='text'>Cosechador OAI en java</title><content type='html'>Bueno voy a empezar un proyecto con repositorios OAI pero antes debo crear un programita para cosecharlos aqui esta el link para descargar un API que te permite hacerlo:&lt;br /&gt;&lt;a href="http://www.oclc.org/research/software/oai/harvester.htm"&gt;&lt;br /&gt;http://www.oclc.org/research/software/oai/harvester.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-8187409601489269496?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/8187409601489269496/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=8187409601489269496' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8187409601489269496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8187409601489269496'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/cosechador-oai-en-java.html' title='Cosechador OAI en java'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-3653796349174166277</id><published>2009-03-25T17:08:00.000-07:00</published><updated>2009-05-21T09:58:16.153-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='firefox'/><category scheme='http://www.blogger.com/atom/ns#' term='pincel'/><category scheme='http://www.blogger.com/atom/ns#' term='plugin'/><category scheme='http://www.blogger.com/atom/ns#' term='prototipos'/><title type='text'>Pincel de firefox, prototipos</title><content type='html'>Esta es una aplicación bastante padre para realizar prototipos en caso de que en tu escuela o tu trabajo,imagina si te los piden de un día o otro, en pocas palabras los pantallasos..&lt;br /&gt;&lt;br /&gt;miren quedan bastantes padres:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://addons.mozilla.org/es-ES/firefox/addon/8487"&gt;&lt;br /&gt;https://addons.mozilla.org/es-ES/firefox/addon/8487&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/ScrIzovTk7I/AAAAAAAAADk/N3RnsxqbkxQ/s1600-h/siir.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/ScrIzovTk7I/AAAAAAAAADk/N3RnsxqbkxQ/s320/siir.png" alt="" id="BLOGGER_PHOTO_ID_5317283099499008946" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-3653796349174166277?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/3653796349174166277/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=3653796349174166277' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3653796349174166277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3653796349174166277'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/pincel-de-firefox-prototipos.html' title='Pincel de firefox, prototipos'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/ScrIzovTk7I/AAAAAAAAADk/N3RnsxqbkxQ/s72-c/siir.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6895797271453955004</id><published>2009-03-25T16:03:00.000-07:00</published><updated>2009-05-21T10:00:33.181-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='grid'/><title type='text'>grid en jquery con jsp y json (java)</title><content type='html'>Bueno un amigo me dijo que le ayuda a hacer un grid con jquery me paso el link de donde descargarlo y estaba en php pero yo lo voy a hecer en java con la ayuda de json (deben descargar el jar de json,ok) y la repuesta se hara con un jsp.&lt;br /&gt;de este link lo pueden descargar &lt;a href="http://www.trirand.com/blog/?page_id=6"&gt;http://www.trirand.com/blog/?page_id=6&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bueno primero creamos un proyecto web en cualquier IDE yo ocupe Netbeans, para ese ejemplo lo llamaremos Cliente (Es un clásico):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/Scq8bgeiTQI/AAAAAAAAADE/TsRWYZSGKK4/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/Scq8bgeiTQI/AAAAAAAAADE/TsRWYZSGKK4/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5317269490824793346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Como un tip cuando vayan a crear un bean con sus getters y setters no es necesario crear cada get y set por cada atributo netbeans milagrosamente nos ayuda (jijiji+++)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/Scq86REcZTI/AAAAAAAAADM/poPKqGOqP4w/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/Scq86REcZTI/AAAAAAAAADM/poPKqGOqP4w/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5317270019264767282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;solo den click derecho y después insert code y despues crear getter y setter&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/Scq9oqDvV4I/AAAAAAAAADU/5o76OAo-9Bw/s1600-h/Pantallazo-3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/Scq9oqDvV4I/AAAAAAAAADU/5o76OAo-9Bw/s320/Pantallazo-3.png" alt="" id="BLOGGER_PHOTO_ID_5317270816246683522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bueno esto los ayudara mucho pero de todas maneras pongo el código:&lt;br /&gt;&lt;br /&gt;package modelo;&lt;br /&gt;&lt;br /&gt;import java.util.Date;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class Cliente {&lt;br /&gt;&lt;br /&gt;private String cve;&lt;br /&gt;private Date date;&lt;br /&gt;private String nombre;&lt;br /&gt;private double cantidad;&lt;br /&gt;private double tax;&lt;br /&gt;private double total;&lt;br /&gt;private String notas;&lt;br /&gt;&lt;br /&gt;public double getCantidad() {&lt;br /&gt;return cantidad;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setCantidad(double cantidad) {&lt;br /&gt;this.cantidad = cantidad;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getCve() {&lt;br /&gt;return cve;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setCve(String cve) {&lt;br /&gt;this.cve = cve;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public Date getDate() {&lt;br /&gt;return date;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setDate(Date date) {&lt;br /&gt;this.date = date;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getNombre() {&lt;br /&gt;return nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setNombre(String nombre) {&lt;br /&gt;this.nombre = nombre;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public String getNotas() {&lt;br /&gt;return notas;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setNotas(String notas) {&lt;br /&gt;this.notas = notas;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public double getTax() {&lt;br /&gt;return tax;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setTax(double tax) {&lt;br /&gt;this.tax = tax;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public double getTotal() {&lt;br /&gt;return total;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void setTotal(double total) {&lt;br /&gt;this.total = total;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;depues para crear el json el codigo es el siguiente: bueno antes la estructura del json que debemos crear es la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;{"total":"1","page":"1","rows":[{"id":"1","cell":["1","Wed Mar 25 15:16:35 CST 2009","Josue Isaac 0"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;,"100.0","10.0","110.0","Salva al mundo usa JAVA 0"]},{"id":"2","cell":["2","Wed Mar 25 15:16:35 CST&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt; 2009","Josue Isaac 1","101.0","11.0","112.0","Salva al mundo usa JAVA 1"]},{"id":"3","cell":["3","Wed&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt; Mar 25 15:16:35 CST 2009","Josue Isaac 2","102.0","12.0","114.0","Salva al mundo usa JAVA 2"]}],"records"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;:"3"}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pueden crear esta estructura con su base datos, pero no entrare en detalles:&lt;br /&gt;&lt;br /&gt;package json;&lt;br /&gt;&lt;br /&gt;import java.util.ArrayList;&lt;br /&gt;import java.util.Date;&lt;br /&gt;import java.util.List;&lt;br /&gt;import modelo.Cliente;&lt;br /&gt;import org.json.JSONArray;&lt;br /&gt;import org.json.JSONException;&lt;br /&gt;import org.json.JSONObject;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;public class Json {&lt;br /&gt;&lt;br /&gt;public static String construlleJson() throws JSONException{&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt; List&lt;cliente&gt; listCliente = new ArrayList&lt;cliente&gt;();&lt;/cliente&gt;&lt;/cliente&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;         for(int i=0;i &lt; cliente =" new"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            cliente.setCve((i+1)+"");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            cliente.setDate(new Date());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            cliente.setNombre("Josue Isaac "+i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            cliente.setCantidad(100+i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            cliente.setTax(10+i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            cliente.setTotal(cliente.getCantidad()+cliente.getTax());&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            cliente.setNotas("Salva al mundo usa JAVA "+i);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;            listCliente.add(cliente);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-weight: bold;"&gt; JSONObject jsonObj = new JSONObject();&lt;/span&gt;&lt;br /&gt;jsonObj.put("page","1");&lt;br /&gt;jsonObj.put("total","1");&lt;br /&gt;jsonObj.put("records", listCliente.size()+"");&lt;br /&gt;&lt;br /&gt;JSONArray   array = new JSONArray();&lt;br /&gt;for(Cliente cliente:listCliente){&lt;br /&gt;    JSONObject jsonDatos= new JSONObject();&lt;br /&gt;    jsonDatos.put("id",cliente.getCve());&lt;br /&gt;     JSONArray   arrayCell = new JSONArray();&lt;br /&gt;     arrayCell.put(cliente.getCve());&lt;br /&gt;     arrayCell.put(cliente.getDate());&lt;br /&gt;      arrayCell.put(cliente.getNombre());&lt;br /&gt;      arrayCell.put(cliente.getCantidad()+"");&lt;br /&gt;      arrayCell.put(cliente.getTax()+"");&lt;br /&gt;       arrayCell.put(cliente.getTotal()+"");&lt;br /&gt;       arrayCell.put(cliente.getNotas()+"");&lt;br /&gt;&lt;br /&gt;     jsonDatos.put("cell",arrayCell);&lt;br /&gt;&lt;br /&gt;    array.put(jsonDatos);&lt;br /&gt;}&lt;br /&gt;jsonObj.put("rows",array);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;return jsonObj.toString();&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) throws JSONException {&lt;br /&gt;System.out.println(Json.construlleJson());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Las lineas en rojo es donde creo una lista de clientes la cual servirá para crear la estructura del json pero ustedes pueden crear un cotenedor que les retorne una lista de Clientes, o con lo quieran llenar su grid, desde su bd.&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0);"&gt;La linea en azul es el objeto principal json y el que retornamos al final&lt;/span&gt;,  &lt;span style="color: rgb(0, 0, 0);"&gt;el código de jsp es este:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;%@page contentType="text/html" pageEncoding="UTF-8"%&amp;gt;&lt;br /&gt;&amp;lt;%@page import="json.Json"%&amp;gt;&lt;br /&gt;&amp;lt;%@page import="org.json.*"%&amp;gt;&lt;br /&gt;&amp;lt;%&lt;br /&gt;  String stringJson="";&lt;br /&gt;  try {&lt;br /&gt;      stringJson = Json.construlleJson();&lt;br /&gt;  } catch (JSONException ex) {&lt;br /&gt;     out.print("{\"totalCount\":0,\"datos\":[]}");&lt;br /&gt;  }&lt;br /&gt;  out.println(stringJson);&lt;br /&gt;%&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;el html o jsp que contrenda el grid de jquery tendra lo siguiente:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;title&amp;gt;jqGrid Demo&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" type="text/css" media="screen" href="eder/themes/basic/grid.css" /&amp;gt;&lt;br /&gt;&amp;lt;link rel="stylesheet" type="text/css" media="screen" href="eder/themes/jqModal.css" /&amp;gt;&lt;br /&gt;&amp;lt;script src="eder/jquery.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script src="eder/jquery.jqGrid.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script src="eder/js/jqModal.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script src="eder/js/jqDnR.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function load()&lt;br /&gt;  {&lt;br /&gt;jQuery("#list2").jqGrid({ url:'json.jsp', datatype: "json", colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], colModel:[ {name:'id',index:'id', width:55}, {name:'invdate',index:'invdate', width:90}, {name:'name',index:'name asc, invdate', width:100}, {name:'amount',index:'amount', width:80, align:"right"}, {name:'tax',index:'tax', width:80, align:"right"}, {name:'total',index:'total', width:80,align:"right"}, {name:'note',index:'note', width:150, sortable:false} ], rowNum:10, rowList:[10,20,30], imgpath: 'eder/themes/basic/images', pager: jQuery('#pager2'), sortname: 'id', viewrecords: true, sortorder: "desc", caption:"JSON Example" }).navGrid('#pager2',{edit:false,add:false,del:false});&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body onload="load()"&amp;gt;&lt;br /&gt;&amp;lt;table id="list2" class="scroll"&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;div id="pager2" class="scroll" style="text-align:center;"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;la estructura del proyecto seria la siguiente:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/ScrF47MhDYI/AAAAAAAAADc/qcbsDd4nTy0/s1600-h/Pantallazo-4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/ScrF47MhDYI/AAAAAAAAADc/qcbsDd4nTy0/s320/Pantallazo-4.png" alt="" id="BLOGGER_PHOTO_ID_5317279891817827714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Al final el grid se debe paser a este:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_LqD7mWOFVm8/ScrPqIkORiI/AAAAAAAAADs/HQOgigwAooc/s1600-h/hola.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 436px; height: 198px;" src="http://3.bp.blogspot.com/_LqD7mWOFVm8/ScrPqIkORiI/AAAAAAAAADs/HQOgigwAooc/s320/hola.png" alt="" id="BLOGGER_PHOTO_ID_5317290632825161250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;&lt;br /&gt;&lt;code&gt;Adios...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-6895797271453955004?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6895797271453955004/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6895797271453955004' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6895797271453955004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6895797271453955004'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/grid-en-jquery-con-jsp-y-json-java.html' title='grid en jquery con jsp y json (java)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_LqD7mWOFVm8/Scq8bgeiTQI/AAAAAAAAADE/TsRWYZSGKK4/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-6179653239762736802</id><published>2009-03-24T09:54:00.000-07:00</published><updated>2009-03-25T17:29:26.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TOMCAT'/><category scheme='http://www.blogger.com/atom/ns#' term='jsp'/><category scheme='http://www.blogger.com/atom/ns#' term='connector'/><category scheme='http://www.blogger.com/atom/ns#' term='CharacterEncoding'/><title type='text'>TOMCAT Character Encoding</title><content type='html'>Hola este es un error comun cuando se trabaja con tomcat, es la codificación, para solucionar este problema hay dos maneras, pero yo recomiendo utilizar ambas, en GlassFish solo puedes utilizar la primera:&lt;br /&gt;&lt;br /&gt;En tu jsp:&lt;br /&gt;&lt;br /&gt;String paramEncoding =application.getInitParameter("PARAMETER_ENCODING");&lt;br /&gt;request.setCharacterEncoding(paramEncoding);&lt;br /&gt;&lt;br /&gt;Despues configura el arhivo web.xml de tu aplicación con lo siguiente:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SckSO_ZBVgI/AAAAAAAAAC0/SspHdOdAeY0/s1600-h/Pantallazo-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SckSO_ZBVgI/AAAAAAAAAC0/SspHdOdAeY0/s320/Pantallazo-1.png" alt="" id="BLOGGER_PHOTO_ID_5316800883831428610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;La otra opcion es editar el archivo server.xml que se encuentra por lo general en ubuntu en:&lt;br /&gt;&lt;br /&gt;isaac@mew:~$ cd /var/lib/tomcat5.5/conf&lt;br /&gt;isaac@mew:/var/lib/tomcat5.5/conf$ ls&lt;br /&gt;Catalina             context.xml         server-minimal.xml  tomcat-users.xml&lt;br /&gt;catalina.policy      logging.properties  &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;server.xml&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;         tomcat-users.xml~&lt;br /&gt;catalina.properties  policy.d            tomcat5.5           web.xml&lt;br /&gt;isaac@mew:/var/lib/tomcat5.5/conf$&lt;br /&gt;&lt;br /&gt;lo pueden abrir con vi o gedit y agregar la siguiente linea en Connector&lt;br /&gt;&lt;br /&gt;URIEncoding="UTF-8"&lt;br /&gt;&lt;br /&gt;aqui esta el ejemplo:&lt;br /&gt;&lt;code&gt;&amp;lt;context-param&amp;gt;&lt;br /&gt;  &amp;lt;param-name&amp;gt;PARAMETER_ENCODING&amp;lt;/param-name&amp;gt;&lt;br /&gt;  &amp;lt;param-value&amp;gt;UTF-8&amp;lt;/param-value&amp;gt;&lt;br /&gt;&amp;lt;/context-param&amp;gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SckTaArsnyI/AAAAAAAAAC8/E8zTdK4xpQk/s1600-h/Pantallazo-2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SckTaArsnyI/AAAAAAAAAC8/E8zTdK4xpQk/s320/Pantallazo-2.png" alt="" id="BLOGGER_PHOTO_ID_5316802172668387106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Adios....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-6179653239762736802?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/6179653239762736802/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=6179653239762736802' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6179653239762736802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/6179653239762736802'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/tomcat-character-encoding.html' title='TOMCAT Character Encoding'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LqD7mWOFVm8/SckSO_ZBVgI/AAAAAAAAAC0/SspHdOdAeY0/s72-c/Pantallazo-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-3106020436191683884</id><published>2009-03-13T17:17:00.000-07:00</published><updated>2009-03-13T17:21:45.557-07:00</updated><title type='text'>Tutorial de hibernate</title><content type='html'>La conexion de hibernate la tome de este blog, este super chido te explica, paso a&lt;br /&gt;paso, como crear un proyecto con hibernate con eclipse.&lt;br /&gt;&lt;br /&gt;http://renevielma.blogspot.com/2008/05/tutorial-de-hibernate.html&lt;br /&gt;&lt;br /&gt;bueno adios.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-3106020436191683884?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/3106020436191683884/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=3106020436191683884' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3106020436191683884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3106020436191683884'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/tutorial-de-hibernate.html' title='Tutorial de hibernate'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-8555646601301955515</id><published>2009-03-13T17:14:00.000-07:00</published><updated>2009-03-13T17:16:24.562-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c3po'/><title type='text'>C3PO</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/Sbr3PZioZEI/AAAAAAAAACs/IOMr9Z4Vsek/s1600-h/Pantallazo.png"&gt;Upss: creo que no se ve mi configuracion abajo pero es la siguiente:&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/Sbr3PZioZEI/AAAAAAAAACs/IOMr9Z4Vsek/s1600-h/Pantallazo.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/Sbr3PZioZEI/AAAAAAAAACs/IOMr9Z4Vsek/s320/Pantallazo.png" alt="" id="BLOGGER_PHOTO_ID_5312830554363159618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-8555646601301955515?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/8555646601301955515/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=8555646601301955515' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8555646601301955515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/8555646601301955515'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/c3po.html' title='C3PO'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/Sbr3PZioZEI/AAAAAAAAACs/IOMr9Z4Vsek/s72-c/Pantallazo.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-5451025913711624132</id><published>2009-03-13T16:49:00.003-07:00</published><updated>2009-06-17T08:20:41.154-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='hibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='c3po'/><category scheme='http://www.blogger.com/atom/ns#' term='sessionfactory'/><title type='text'>Recuperar sesiones hibernate con c3po</title><content type='html'>Hola:&lt;br /&gt;&lt;br /&gt;Hace un par de días me encontré con un problema con hibernate ocupando en pool mi clase anterior era esta.&lt;br /&gt;&lt;br /&gt;package org.util;&lt;br /&gt;&lt;br /&gt;/&lt;br /&gt;import org.hibernate.SessionFactory;&lt;br /&gt;import org.hibernate.cfg.Configuration;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author mew&lt;br /&gt;*/&lt;br /&gt;public class SessionFactorySingleton {&lt;br /&gt;   private static SessionFactory sf = null;&lt;br /&gt;   /**&lt;br /&gt;    * crea una sesion que utiliza todo el programa&lt;br /&gt;    */&lt;br /&gt;   private SessionFactorySingleton(){&lt;br /&gt;   }&lt;br /&gt;   public static SessionFactory getSessionFactory(){&lt;br /&gt;       if(sf == null){&lt;br /&gt;           sf = new Configuration().configure().buildSessionFactory();&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       return sf;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Pero lo que pasaba esque el pool de c3po no administraba bien las conexiones, y en un blog encontre este conexion&lt;br /&gt;&lt;br /&gt;package org.util;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;import org.hibernate.HibernateException;&lt;br /&gt;import org.hibernate.Session;&lt;br /&gt;import org.hibernate.cfg.Configuration;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Configures and provides access to Hibernate sessions, tied to the&lt;br /&gt;* current thread of execution.  Follows the Thread Local Session&lt;br /&gt;* pattern, see {@link http://hibernate.org/42.html }.&lt;br /&gt;*/&lt;br /&gt;public class SessionFactory {&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Location of hibernate.cfg.xml file.&lt;br /&gt;* Location should be on the classpath as Hibernate uses&lt;br /&gt;* #resourceAsStream style lookup for its configuration file.&lt;br /&gt;* The default classpath location of the hibernate config file is&lt;br /&gt;* in the default package. Use #setConfigFile() to update&lt;br /&gt;* the location of the configuration file for the current session.&lt;br /&gt;*/&lt;br /&gt;private static String CONFIG_FILE_LOCATION = "hibernate.cfg.xml";&lt;br /&gt;private static final ThreadLocal threadLocal = new ThreadLocal();&lt;br /&gt;private  static Configuration configuration = new Configuration();&lt;br /&gt;private static org.hibernate.SessionFactory sessionFactory;&lt;br /&gt;private static String configFile = CONFIG_FILE_LOCATION;&lt;br /&gt;&lt;br /&gt;private SessionFactory() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* Returns the ThreadLocal Session instance.  Lazy initialize&lt;br /&gt;* the SessionFactory if needed.&lt;br /&gt;*&lt;br /&gt;*  @return Session&lt;br /&gt;*  @throws HibernateException&lt;br /&gt;*/&lt;br /&gt;public static Session getSession() throws HibernateException {&lt;br /&gt;  Session session = (Session) threadLocal.get();&lt;br /&gt;&lt;br /&gt;  if (session == null || !session.isOpen()) {&lt;br /&gt;      System.out.println("&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;");&lt;br /&gt;      if (sessionFactory == null) {&lt;br /&gt;          rebuildSessionFactory();&lt;br /&gt;      }&lt;br /&gt;      session = (sessionFactory != null) ? sessionFactory.openSession()&lt;br /&gt;              : null;&lt;br /&gt;      threadLocal.set(session);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  return session;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*  Rebuild hibernate session factory&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public static void rebuildSessionFactory() {&lt;br /&gt;  try {&lt;br /&gt;      configuration.configure(configFile);&lt;br /&gt;      sessionFactory = configuration.buildSessionFactory();&lt;br /&gt;  } catch (Exception e) {&lt;br /&gt;      System.err&lt;br /&gt;              .println("%%%% Error Creating SessionFactory %%%%");&lt;br /&gt;      e.printStackTrace();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*  Close the single hibernate session instance.&lt;br /&gt;*&lt;br /&gt;*  @throws HibernateException&lt;br /&gt;*/&lt;br /&gt;public static void closeSession() throws HibernateException {&lt;br /&gt;  Session session = (Session) threadLocal.get();&lt;br /&gt;  threadLocal.set(null);&lt;br /&gt;&lt;br /&gt;  if (session != null) {&lt;br /&gt;      session.close();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*  return session factory&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public static org.hibernate.SessionFactory getSessionFactory() {&lt;br /&gt;  return sessionFactory;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*  return session factory&lt;br /&gt;*&lt;br /&gt;*    session factory will be rebuilded in the next call&lt;br /&gt;*/&lt;br /&gt;public static void setConfigFile(String configFile) {&lt;br /&gt;  SessionFactory.configFile = configFile;&lt;br /&gt;  sessionFactory = null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*  return hibernate configuration&lt;br /&gt;*&lt;br /&gt;*/&lt;br /&gt;public static Configuration getConfiguration() {&lt;br /&gt;  return configuration;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Esta conexion es mucho mas eficiente y con la ayuda de c3po ayuda bastante.&lt;br /&gt;&lt;br /&gt;Mi configuracion de C3PO es la siguiente:&lt;br /&gt;&lt;code&gt;&lt;br /&gt; &amp;lt;property name="hibernate.c3p0.acquire_increment"&amp;gt;1&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="hibernate.c3p0.idle_test_period"&amp;gt;120&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="hibernate.c3p0.timeout"&amp;gt;180&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="hibernate.c3p0.max_size"&amp;gt;20&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="hibernate.c3p0.min_size"&amp;gt;0&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="hibernate.c3p0.max_statements"&amp;gt;0&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;property name="hibernate.c3p0.preferredTestQuery"&amp;gt;select 1;&amp;lt;/property&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;!-- configuration pool via c3p0--&gt;&lt;br /&gt;Le puse en 0 hibernate.c3p0.min_size porque aquí donde trabajo se ponen locos si ven una conexión mucho tiempo, pero ustedes deben hacer sus pruebas, dependiendo de muchos factores:&lt;br /&gt;&lt;br /&gt;* Su mapeo de hibernate (contiene muchos Many-to-Many,lazy,ect)&lt;br /&gt;* El hql,o sql mas pesado, de su proyecto,para saber el costo de su qury  pueden ocupar en oracle esto:&lt;br /&gt;&lt;br /&gt;explain plan for SELECT campos FROM tabla&lt;br /&gt;y para ver el peso del query select * from plan_table&lt;br /&gt;&lt;br /&gt;* Tomar el tiempo del Query mas pesado.&lt;br /&gt;&lt;br /&gt;En los controles, contenedores, cerrar las conexiones este es muy importante.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-5451025913711624132?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/5451025913711624132/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=5451025913711624132' title='2 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/5451025913711624132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/5451025913711624132'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/recuperar-sesiones-hibernate-con-c3po.html' title='Recuperar sesiones hibernate con c3po'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-3073886933080267343</id><published>2009-03-04T11:12:00.000-08:00</published><updated>2009-03-04T11:14:51.534-08:00</updated><title type='text'>TIM BURTON - La Melancólica Muerte del Chico Ostra y Otras Historias</title><content type='html'>&lt;div style="text-align: center;"&gt;Personalmente espero que&lt;br /&gt;a este artista de pensamiento macabro,con pelo enmarañado y gesto turbado,que nos cuenta historias de personajes insanos&lt;br /&gt;que tienen tijeras y aletas en lugar de manos,nunca jamás se le ocurra disfrazarse de humano- Tim burton&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-3073886933080267343?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/3073886933080267343/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=3073886933080267343' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3073886933080267343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3073886933080267343'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/03/tim-burton-la-melancolica-muerte-del.html' title='TIM BURTON - La Melancólica Muerte del Chico Ostra y Otras Historias'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-7554623518433423692</id><published>2009-02-19T07:18:00.000-08:00</published><updated>2009-02-19T07:53:44.249-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prepa'/><category scheme='http://www.blogger.com/atom/ns#' term='EL día perfecto'/><title type='text'>EL día perfecto (HULK)</title><content type='html'>Muchos nos preguntamos como es día perfecto la verdad yo pienso que depende de color de cada día:&lt;br /&gt;&lt;br /&gt;Mmmm, si por ejemplo hoy me pare a las 8 de la mañana, como ya termine la Fac. ni modo a trabajar si no despues no hay para las fiestas, bueno salgo de mi casa escuchando algo de musica empiezo bien el dia escuchando algo de aerosmith, algo de pixies, bueno despues de un rato escucho una canción que me hace recordar la prepa, enserio y sin pensarlo derrepende me acuerdo de todas las estupideses que hacia, bueno en particular me acorde hoy de una:&lt;br /&gt;&lt;br /&gt;Ya lo denomino LA HULK&lt;br /&gt;&lt;br /&gt;Pero diran que pex, como que HULK si no es el tipo verde, que se pone como loco cuando alguien quiere tirarse a su vieja (jijiji+++), es  broma, bueno resulta que es una chava, bueno la ecuación seria algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;alcohol + chava(judith) + pleitos de amor = HULK&lt;br /&gt;&lt;br /&gt;Si la chava se puso bien ebria, un cuate creo que Simon le quito su zapato, derrepente cambio su color se puso verde, empezo hablar idiomas bastante raros incluso para alguien que estudia lenguas, bueno empezo a correr como loca, y como buenos cuates la empezamos a corretear, cuando derrepente paso lo peor, se metio al baño y su novio con una mangera la baño con agua,  salio un moustruo verde con ojos rojos, como yo era el mas cerca que le digo a la bestia verde -oye Judith ya callate o te.... el moustruo contesto o te... que babaso me vas a golpear (bueno si lo pense, pero nunca lo haría), cuando volteo HULK que me da un golpaso en mi cara, corrio sangre de mi labio, y las vestias verde se fue (bueno de hecho se quedo piendome disculpas , pero estaba tan enojado que no la pelaba)....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bueno depues relatare mas estupides, noñadas de la fac, y cosas que voy recordando...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-7554623518433423692?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/7554623518433423692/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=7554623518433423692' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/7554623518433423692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/7554623518433423692'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/02/el-dia-perfecto-hulk.html' title='EL día perfecto (HULK)'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-5640135492419031329</id><published>2009-02-10T10:48:00.000-08:00</published><updated>2009-02-10T11:23:20.389-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='traducción propia'/><category scheme='http://www.blogger.com/atom/ns#' term='mew confortantes sonidos'/><title type='text'>Confortantes sonidos</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SZHTTHTgmqI/AAAAAAAAAB0/MhZeQ159LEQ/s1600-h/moks-incandescence.jpg"&gt;&lt;img style="cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SZHTTHTgmqI/AAAAAAAAAB0/MhZeQ159LEQ/s320/moks-incandescence.jpg" alt="" id="BLOGGER_PHOTO_ID_5301250561723636386" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;La verdad no recuerdo muy bien el día pero si me acuerdo que no tenia mucho tiempo que habia llegado de la escuela, prendi la t.v en MTV,y escuche una extaña banda de rock que era diferente, si enserio, la canción se quedo en mi mente por mucho tiempo, la verdad olvide el nombre de la banda, un día platicando con un cuate en la Fac. me pregunto si habia escuchado a Mew le dije por supuesto que no, pero no sabia que era la banda de rock que habia visto en MTV hace tiempo...&lt;br /&gt;&lt;br /&gt;Como pude consegui el disco frengers... y de inmediato mi persepción musical cambio para siempre...&lt;br /&gt;&lt;br /&gt;Recuerdo la primera vez que escuche comforting sounds:&lt;br /&gt;&lt;br /&gt;La voz suave , pensando en que diria la letra... si hablaria de ira, amor, celos o quizas traición...&lt;br /&gt;&lt;br /&gt;Poco a poco, encontre mi canción perfecta para pensar en ella, para correr baja la lluvia, para quitarme la ropa y decir que no me siento bien  pesando en la dulsura de ella, por que nada es tan perfecto ya mas que la soledad, y por cada segundo que pasaba escuchandola le encontraba nuevos siginifacados...&lt;br /&gt;&lt;br /&gt;Como si alguien atravez del lente estubiera mirando todo aquello que tire todo por la borda, que siempre hacemos promesas que rompemos, que quizas jugamos sucio, para llegar a verla, o mejor aun pensamos que nada tiene sentido mas que la soledad...&lt;br /&gt;&lt;br /&gt;Corriendo y jugando como cuando eres niño, mintiendo de aquello de lo que no queremos ser lastimados, para nunca jamas tener sucias las manos,...&lt;br /&gt;&lt;br /&gt;Estando en el lugar de siempre, junto a mi familia y niki, tratando de entender el mundo, todo parace ser raro, extrañas reglas, tan estupidas como tontas, pensando y recordando todas las aventuras que vivi por tre años con mis amigos, parace que el tiempo se detuvo en ese instante la canción...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;La voz de Jonas deja de sonar, para dar parte a lo mejor de la canción, se llena de notas musicales, el teclado, la bateria, el bajo, la guitarra...Forman una ecuación diferencial perfecta, una ecuación rara de la place con la que puedes crear con las terminos perfectos una vida ideal, se llena de alegria y nostalgia, dan ganas de volar, al mismo tiempo llorar, no sabes cuando terminara, pero la gozas con tanta emosion que quiziera que fuera eterna...&lt;br /&gt;&lt;br /&gt;Y cuando termina te dan ganas de intentarlo de nuevo...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-5640135492419031329?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/5640135492419031329/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=5640135492419031329' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/5640135492419031329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/5640135492419031329'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/02/confortantes-sonidos.html' title='Confortantes sonidos'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LqD7mWOFVm8/SZHTTHTgmqI/AAAAAAAAAB0/MhZeQ159LEQ/s72-c/moks-incandescence.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-3257017062614925579</id><published>2009-01-23T08:35:00.000-08:00</published><updated>2009-01-23T08:50:34.612-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT NETBEANS JAVA'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt ext json'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt ext'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='gwt ext combobox'/><title type='text'>GWT-EXT, Combo box, remoto con jsp's</title><content type='html'>Lo primero que necesitamos es crear HttpProxy y un store con la estructura de nuestro json, aunque por default este metodo se encarga de mandarle parametros con query, para este ejemplo no los tomaremos&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;HttpProxy dataProxy = new HttpProxy("EvaluacionJson.jsp?respuesta=revista");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;        RecordDef recordDef = new RecordDef(new FieldDef[]{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;                    new StringFieldDef("clave", "clave"),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;                    new StringFieldDef("name", "name"),});&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;        JsonReader reader = new JsonReader(recordDef);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;        reader.setRoot("datos");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;        reader.setTotalProperty("totalCount");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;        Store store = new Store(dataProxy, reader, true);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;        store.reload();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;     ComboBox cbRevista = new ComboBox("Revista");&lt;br /&gt;&lt;br /&gt;        cbRevista.setStore(store);&lt;br /&gt;        cbRevista.setTitle("Revistas existentes");&lt;br /&gt;        cbRevista.setDisplayField("name");&lt;br /&gt;        cbRevista.setId("clave");&lt;br /&gt;        cbRevista.setMode(&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;ComboBox.REMOTE&lt;/span&gt;);&lt;br /&gt;        cbRevista.setTriggerAction(&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;ComboBox.ALL&lt;/span&gt;);&lt;br /&gt;        cbRevista.setLoadingText("Buscando...");&lt;br /&gt;        cbRevista.setWidth(300);&lt;br /&gt;cbRevista.setEmptyText("-SELECCIONE UNA REVISTA-");&lt;br /&gt;        cbRevista.addListener(new ComboBoxListenerAdapter() {&lt;br /&gt;&lt;br /&gt;            public void onSelect(ComboBox comboBox, Record record, int index) {&lt;br /&gt;&lt;br /&gt;              &lt;br /&gt;               String cveRev = record.getAsString("clave");&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;        });&lt;br /&gt;&lt;br /&gt;Podemos agregar el combo a un formpanel o aun panel, despues esta el listener del combo que escucha los eventos del combo con  record.getAsString("clave") extraen el clave del combo.&lt;br /&gt;&lt;br /&gt;El jsp :&lt;br /&gt;&lt;br /&gt;&lt;%@page contentType="text/html" pageEncoding="UTF-8"%&gt;&lt;br /&gt;&lt;%@page import="org.siir.json.JsonEvaluacion"%&gt;&lt;br /&gt;&lt;%@page import="org.json.*"%&gt;&lt;br /&gt;&lt;br /&gt;&lt;%&lt;br /&gt;&lt;br /&gt;String respuesta = request.getParameter("respuesta");&lt;br /&gt;&lt;br /&gt;if(respuesta.equals("revista")){&lt;br /&gt; JsonEvaluacion jsonEvaluacion= new JsonEvaluacion();&lt;br /&gt; String stringJson="";&lt;br /&gt;        try {&lt;br /&gt;            stringJson = jsonEvaluacion.obtenRevistasCandidatas();&lt;br /&gt;        } catch (JSONException ex) {&lt;br /&gt;           out.print("{\"totalCount\":0,\"datos\":[]}");&lt;br /&gt;        }&lt;br /&gt;        out.println(stringJson);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;%&gt;&lt;br /&gt;&lt;br /&gt;el json:&lt;br /&gt;&lt;br /&gt;package org.siir.json;&lt;br /&gt;&lt;br /&gt;import java.util.List;&lt;br /&gt;import org.json.JSONArray;&lt;br /&gt;import org.json.JSONException;&lt;br /&gt;import org.json.JSONObject;&lt;br /&gt;import org.siir.client.modelo.hemeroteca.RevistaExistente;&lt;br /&gt;import org.siir.contenedor.ContenedorRevistaCandidata;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author isaac&lt;br /&gt; */&lt;br /&gt;public class JsonEvaluacion {&lt;br /&gt;&lt;br /&gt;     public String obtenRevistasCandidatas() throws JSONException{&lt;br /&gt;        ContenedorRevistaCandidata contenedorRev= new ContenedorRevistaCandidata();&lt;br /&gt;        List &lt;revistaexistente&gt; listRev = contenedorRev.getAllRevistaExistente();&lt;br /&gt;        JSONObject jsonObj = new JSONObject();&lt;br /&gt;        jsonObj.put("&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;totalCount&lt;/span&gt;", listRev.size()+"");&lt;br /&gt;        JSONArray array = new JSONArray();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        for(RevistaExistente rev:listRev){&lt;br /&gt;&lt;br /&gt;            JSONObject jsonDatos = new JSONObject();&lt;br /&gt;&lt;br /&gt;            jsonDatos.put("&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;name&lt;/span&gt;",rev.getNombreRevista());&lt;br /&gt;            jsonDatos.put("&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;clave&lt;/span&gt;",rev.getClave()+"");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            array.put(jsonDatos);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;         jsonObj.put("&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;datos&lt;/span&gt;",array);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        return jsonObj.toString();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) throws JSONException  {&lt;br /&gt;        JsonEvaluacion jsonEvaluacion= new JsonEvaluacion();&lt;br /&gt;        System.out.println(jsonEvaluacion.obtenRevistasCandidatas());&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt; el contenedor: claro esta tienen que iniciar una session hibernate, y todo ese choro, pueden reemplazar todo esto por un contenedor con sql, y con resultset construllen la lista de RevistaExistente&lt;br /&gt;&lt;br /&gt;    public List&lt;revistaexistente&gt; getAllRevistaExistente() {&lt;br /&gt;            Session s = sF.openSession();&lt;br /&gt;            Transaction tx = s.beginTransaction();&lt;br /&gt;            Query q = s.createQuery("from RevistaExistente p where p.estadoRevista = 1" );&lt;br /&gt;            List&lt;revistaexistente&gt; respuesta=q.list();&lt;br /&gt;            tx.commit();&lt;br /&gt;            s.close();&lt;br /&gt;            return respuesta;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;el modelo:&lt;br /&gt;&lt;br /&gt;public class RevistaExistente implements IsSerializable {&lt;br /&gt;private Long clave;&lt;br /&gt;    private String nombreRevista;&lt;br /&gt;&lt;br /&gt;con sus getters y setters...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-3257017062614925579?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/3257017062614925579/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=3257017062614925579' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3257017062614925579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/3257017062614925579'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2009/01/gwt-ext-combo-box-remoto-con-jsps.html' title='GWT-EXT, Combo box, remoto con jsp&apos;s'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-1644354949446828808</id><published>2008-10-23T09:50:00.000-07:00</published><updated>2008-10-23T11:11:11.095-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mgmt kids México'/><title type='text'>Mgmt México, Historia sobre el sabado</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_LqD7mWOFVm8/SQC-FwxcvdI/AAAAAAAAABs/__IaMDFvElg/s1600-h/mgmt1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 288px; height: 320px;" src="http://2.bp.blogspot.com/_LqD7mWOFVm8/SQC-FwxcvdI/AAAAAAAAABs/__IaMDFvElg/s320/mgmt1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5260413370969669074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_LqD7mWOFVm8/SQC99e8smZI/AAAAAAAAABk/N-3d_vDCFzY/s1600-h/mew.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 296px; height: 320px;" src="http://4.bp.blogspot.com/_LqD7mWOFVm8/SQC99e8smZI/AAAAAAAAABk/N-3d_vDCFzY/s320/mew.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5260413228746054034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_LqD7mWOFVm8/SQC9y-vTUhI/AAAAAAAAABc/FCuC_8AoQoY/s1600-h/mgmt2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 312px; height: 320px;" src="http://1.bp.blogspot.com/_LqD7mWOFVm8/SQC9y-vTUhI/AAAAAAAAABc/FCuC_8AoQoY/s320/mgmt2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5260413048301244946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Después de largos 7 meses, un par de idioteces, vamos juntos como siempre&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;En medio de la gente, viendo hacia el cielo, el sábado fue nuestro día, como siempre&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Como hoy,.., nunca antes había estado tan feliz, eres muy linda cuando brincas, cuando&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;tiras la comida,...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;La piel se me pone chinita al pensar que no iba a llevar,  me hubiera arrepentido,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Me gusta verte tirada en medio de la gente, como unos niños, sin preocupaciones,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Como una isla feliz, vayamos una vez más, dime que no es un buen día para morirse,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Dejemos todo atrás, olvidemos nuestros trabajos, escuchemos música, vayamos en medio de la gente y gritemos como siempre...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Dejemos estos trabajos, vayamos nuevamente entre la gente...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Escuchando los sonidos tan maravillosos, brinquemos una vez más,...,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Corramos justo antes de 10 minutos para ver a tu banda,..&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Diré tu nombre una vez más, a lo alto, busquemos un mejor lugar donde dormir,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Me gustas cuando duermes en medio de la gente,...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Pensando que algún día te vas a ir, no me importa si no te importa a ti primero,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;y no llorare a menos que los dos juntos lo ágamos, toma mi mano y corramos nuevamente&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;entre en medio de la gente...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Te escogería a ti, siempre,..., se que a veces el tiempo no es suficiente,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;para decirte lo bien que te vez,...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Embriaguémonos de nuevo, corramos a ver MGMT,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Matemos lo que no queremos, tiremos todo a la basura amiga,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Es difícil pensar que algún día cambiaremos, que todo nuevamente tiene rumbo&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;embriaguémonos de nuevo, corramos a ver paramore y flaming lips,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Estaremos en ese lugar por siempre, junto a la ventana del camión, con nuestros cuerpos cansados, y llenos de felicidad,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Es un poco triste pensar que todo tomara otro rumbo...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Si tan solo te dieras cuenta lo especial que eres para mí...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Desearías estar tirada en medio de la gente besándome, viendo al cielo,...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;El sábado fuimos libres,...,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Es difícil saber cuándo es el comienzo y el final, de un sueño,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Embriaguémonos y tirémonos en la arena, viendo la gente pasar...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Le diré a papá y a mama que estoy bien,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Corre pequeña amiga, tú me has enseñado muchas cosas que yo daba por sentado,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Extrañare tu manera de ver la vida y tu peinado,..,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Extrañare verte despertar de mi cama,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Dejemos estos trabajos de basura....&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Es difícil pensar, que  cuando regrese ala plazo tu no vas a estar esperándome...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Es difícil ya no poder besarte y cuidarte...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Eres mi chica angelical...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Ya no hay tiempo para medir las consecuencias...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Ayer estaba un poco estúpido pensando en ti,...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Pero siempre hay algo en día que te hace recobrar fuerzas,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Deberíamos jugar todo día tirados, en el parque,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Deberíamos de correr y ver todo a nuestro alrededor,&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Deberíamos poner atención a nuestras vidas, antes de despertar en una silla de ruedas...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Jugar y divertimos como siempre, antes de tener las manos sucias, llegando a casa raspados de las rodillas,...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Le tendría que decir a Tom que se lanzara nuevamente, para verlo caer como siempre, y reinos por horas…&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Antes de llegar a casa&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;con una mascota nueva...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Antes de llegar a casa&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;y tener 22 años&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Antes de llegar a casa&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Contigo a las 3 de la mañana&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Antes de esta estúpida soledad, creo así es como la llaman...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Reflexionando...&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Gracias por ser mi pequeña amiga…&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-1644354949446828808?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/1644354949446828808/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=1644354949446828808' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1644354949446828808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/1644354949446828808'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2008/10/mgmt-mxico-historia-sobre-el-sabado.html' title='Mgmt México, Historia sobre el sabado'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_LqD7mWOFVm8/SQC-FwxcvdI/AAAAAAAAABs/__IaMDFvElg/s72-c/mgmt1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4821629602737201938.post-4681493846165641072</id><published>2008-07-25T11:59:00.000-07:00</published><updated>2008-07-25T14:19:13.802-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT NETBEANS JAVA'/><title type='text'>Crear un proyecto GWT en Netbeans 6.1</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Credalyc%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5Credalyc%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso"&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;link rel="themeData" href="file:///C:%5CDOCUME%7E1%5Credalyc%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5Credalyc%5CCONFIG%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;ES&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} a:link, span.MsoHyperlink 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabla normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:minor-fareast; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="ES-MX"&gt;Hola a todos vamos a crear un proyecto GWT en netbeans pero primero necesitamos un plugin lo que hacemos es ir a Tools elegimos plugins, después aparecerá una ventana elegimos la pestaña Avaible Plugins y en campo de búsqueda escribimos gwt4nb, después los instalamos.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_LqD7mWOFVm8/SIojBfE6UcI/AAAAAAAAAAs/8J-wZ-fXtpU/s1600-h/plugin.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_LqD7mWOFVm8/SIojBfE6UcI/AAAAAAAAAAs/8J-wZ-fXtpU/s320/plugin.JPG" alt="" id="BLOGGER_PHOTO_ID_5227028825945821634" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="ES-MX"&gt;Ahora necesitamos crear nuestro primer ejemplo:&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;File-&gt;New Proyect, elegimos proyecto web&lt;/p&gt;  &lt;p class="MsoNormal"&gt;despues next, Name and Location-&gt; le damos nombre a nuestro proyecto damos next, Server and Settings elegimos el server web que ocuparemos, podemos dejar el que trae o quizas otro que tengamos instalado en nuestro equipo (ws,tomcat,...), Despues sigue Framework elegimos Google web Toolkit , despues damos la ruta en donde esta los jars de &lt;a href="http://http/code.google.com/webtoolkit/download.html"&gt;gwt&lt;/a&gt; que los descargamos, elegimos como se llamara el gwt modulo, en este caso lo llamaremos &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_LqD7mWOFVm8/SIojorGC-aI/AAAAAAAAAA8/1zDFaW4N9ls/s1600-h/gwt.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 351px; height: 226px;" src="http://bp0.blogger.com/_LqD7mWOFVm8/SIojorGC-aI/AAAAAAAAAA8/1zDFaW4N9ls/s320/gwt.JPG" alt="" id="BLOGGER_PHOTO_ID_5227029499186706850" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;gwt.ejemplo.gwt.ejemplo.Main&lt;a href="http://bp0.blogger.com/_LqD7mWOFVm8/SIodcDc806I/AAAAAAAAAAc/qVZq97hk5xM/s1600-h/gwt.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span style="text-decoration: none;"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="BLOGGER_PHOTO_ID_5227022685317157794" spid="_x0000_i1025" type="#_x0000_t75" alt="http://bp0.blogger.com/_LqD7mWOFVm8/SIodcDc806I/AAAAAAAAAAc/qVZq97hk5xM/s320/gwt.JPG" href="http://bp0.blogger.com/_LqD7mWOFVm8/SIodcDc806I/AAAAAAAAAAc/qVZq97hk5xM/s1600-h/gwt.JPG" style="'width:240pt;height:154.5pt;visibility:visible;mso-wrap-style:square'" button="t"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\redalyc\CONFIG~1\Temp\msohtmlclip1\01\clip_image003.jpg" title="gwt"&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;/a&gt; despues damos finish, una vez hecho esto nos creara una estructura como la siguiente : Vamos  a entender como funciona un poco esto ,para que un proyecto de gwt funcione necesita un archivo en donde se configura cual sera la clase principal la cual tendra esto&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_LqD7mWOFVm8/SIoj6zm2CSI/AAAAAAAAABE/51382ToCGWM/s1600-h/estruct.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_LqD7mWOFVm8/SIoj6zm2CSI/AAAAAAAAABE/51382ToCGWM/s320/estruct.JPG" alt="" id="BLOGGER_PHOTO_ID_5227029810709399842" border="0" /&gt;&lt;/a&gt;&lt;p class="MsoNormal"&gt;La linea de rojo indica la clase principal la cual sirve para crear los archivos los cuales se incluiran en el html o jsp, despues en el paquete de codigo esta la respectiva clase principal&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;module&gt;&lt;br /&gt;&lt;inherits name="com.google.gwt.user.User"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt; &lt;entry-point class="gwt.ejemplo.client.MainEntryPoint"&gt;&lt;/entry-point&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Do not define servlets here, use web.xml --&gt;&lt;/inherits&gt;&lt;/module&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_LqD7mWOFVm8/SIon-jRgT6I/AAAAAAAAABM/cbIdrx62-qI/s1600-h/xml.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 501px; height: 122px;" src="http://bp2.blogger.com/_LqD7mWOFVm8/SIon-jRgT6I/AAAAAAAAABM/cbIdrx62-qI/s320/xml.JPG" alt="" id="BLOGGER_PHOTO_ID_5227034273090916258" border="0" /&gt;&lt;/a&gt;&lt;module&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Tambien la linea en rojo sirve para que el compilador de gwt sepa quien tiene el metodo onModuleLoad() el cual el que se ejecuta cuando se llama en un html o jsp&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;span style="" lang="EN-US"&gt;package gwt.ejemplo.client;&lt;br /&gt;&lt;br /&gt;import com.google.gwt.core.client.EntryPoint;&lt;br /&gt;import com.google.gwt.user.client.ui.Button;&lt;br /&gt;import com.google.gwt.user.client.ui.ClickListener;&lt;br /&gt;import com.google.gwt.user.client.ui.Label;&lt;br /&gt;import com.google.gwt.user.client.ui.RootPanel;&lt;br /&gt;import com.google.gwt.user.client.ui.Widget;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author isaac legorreta&lt;br /&gt;*/&lt;br /&gt;public class &lt;span style="color:red;"&gt;MainEntryPoint&lt;/span&gt; implements EntryPoint {&lt;br /&gt;&lt;br /&gt;/** Creates a new instance of MainEntryPoint */&lt;br /&gt;public MainEntryPoint() {&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;The entry point method, called automatically by loading a module&lt;br /&gt;that declares an implementing class as an entry-point&lt;br /&gt;*/&lt;br /&gt;public void onModuleLoad() {&lt;br /&gt;final Label label = new Label("Hello, GWT!!!");&lt;br /&gt;final Button button = new Button("Click me!");&lt;br /&gt;&lt;br /&gt;button.addClickListener(new ClickListener(){&lt;br /&gt;   public void onClick(Widget w) {&lt;br /&gt;       label.setVisible(!label.isVisible());&lt;br /&gt;   }&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;RootPanel.get().add(button);&lt;br /&gt;RootPanel.get().add(label);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;En el codigo html con la etiqueta script indicamos donde esta los archivos js que la gwt convirtio de java a js, todo esto lo hace cuando compilamos el proyecto&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_LqD7mWOFVm8/SIopK5t2CdI/AAAAAAAAABU/rhv3hcCI9Nk/s1600-h/html.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 420px; height: 133px;" src="http://bp1.blogger.com/_LqD7mWOFVm8/SIopK5t2CdI/AAAAAAAAABU/rhv3hcCI9Nk/s320/html.JPG" alt="" id="BLOGGER_PHOTO_ID_5227035584785418706" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/module&gt;&lt;module&gt;&lt;p class="MsoNormal" style="margin-bottom: 12pt;"&gt;&lt;br /&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/module&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4821629602737201938-4681493846165641072?l=isaacrobot.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://isaacrobot.blogspot.com/feeds/4681493846165641072/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4821629602737201938&amp;postID=4681493846165641072' title='1 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4681493846165641072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4821629602737201938/posts/default/4681493846165641072'/><link rel='alternate' type='text/html' href='http://isaacrobot.blogspot.com/2008/07/crear-un-proyecto-gwt-en-netbeans-61.html' title='Crear un proyecto GWT en Netbeans 6.1'/><author><name>j. isaac legorreta perez</name><uri>http://www.blogger.com/profile/01667085504973923259</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/-4kZnZUbIWh8/TnbNIrmvz5I/AAAAAAAAAPY/fphrfftfF5I/s220/DSC00237.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_LqD7mWOFVm8/SIojBfE6UcI/AAAAAAAAAAs/8J-wZ-fXtpU/s72-c/plugin.JPG' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
