diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.form b/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.form
index ed433b8eceb5df6ea53aec63a6e57cf6bfa34af1..ef5d5bd1005291ae04f15a4620411e578f6559cb 100644
--- a/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.form
+++ b/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.form
@@ -179,7 +179,7 @@
             <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
               <Font name="Tahoma" size="14" style="1"/>
             </Property>
-            <Property name="text" type="java.lang.String" value="Seleccionar"/>
+            <Property name="text" type="java.lang.String" value="Seleccionar imagen"/>
             <Property name="toolTipText" type="java.lang.String" value=""/>
             <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
               <Color id="Cursor Por defecto"/>
@@ -190,7 +190,7 @@
           </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="480" y="450" width="120" height="60"/>
+              <AbsoluteConstraints x="450" y="370" width="170" height="50"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -267,9 +267,9 @@
         <Component class="javax.swing.JButton" name="btnListaReprodiccion">
           <Properties>
             <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
-              <Font name="Tahoma" size="24" style="0"/>
+              <Font name="Tahoma" size="14" style="0"/>
             </Property>
-            <Property name="text" type="java.lang.String" value="Lista de reproduccion"/>
+            <Property name="text" type="java.lang.String" value="Modificar lista de reproducci&#xf3;n"/>
           </Properties>
           <Events>
             <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnListaReprodiccionActionPerformed"/>
@@ -283,9 +283,9 @@
         <Component class="javax.swing.JButton" name="btnVideo">
           <Properties>
             <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
-              <Font name="Tahoma" size="24" style="0"/>
+              <Font name="Tahoma" size="14" style="0"/>
             </Property>
-            <Property name="text" type="java.lang.String" value="Video"/>
+            <Property name="text" type="java.lang.String" value="Modificar video"/>
           </Properties>
           <Events>
             <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnVideoActionPerformed"/>
@@ -322,7 +322,7 @@
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="330" y="430" width="140" height="110"/>
+              <AbsoluteConstraints x="330" y="370" width="110" height="110"/>
             </Constraint>
           </Constraints>
 
@@ -333,7 +333,7 @@
             <Component class="javax.swing.JLabel" name="lbImg">
               <Constraints>
                 <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-                  <AbsoluteConstraints x="0" y="0" width="140" height="110"/>
+                  <AbsoluteConstraints x="5" y="5" width="100" height="100"/>
                 </Constraint>
               </Constraints>
             </Component>
@@ -346,40 +346,17 @@
             </Constraint>
           </Constraints>
         </Component>
-        <Component class="javax.swing.JLabel" name="lbOpcional">
-          <Properties>
-            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
-              <Font name="Tahoma" size="18" style="0"/>
-            </Property>
-            <Property name="text" type="java.lang.String" value="Opcional *"/>
-          </Properties>
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="480" y="520" width="-1" height="-1"/>
-            </Constraint>
-          </Constraints>
-        </Component>
-        <Component class="javax.swing.JLabel" name="lbImagen">
-          <Constraints>
-            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="340" y="420" width="140" height="110"/>
-            </Constraint>
-          </Constraints>
-        </Component>
         <Component class="javax.swing.JTextField" name="txtContraNueva1">
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="470" y="340" width="160" height="-1"/>
+              <AbsoluteConstraints x="470" y="300" width="160" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
         <Component class="javax.swing.JTextField" name="txtContraNueva">
-          <Events>
-            <EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtContraNuevaKeyTyped"/>
-          </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="470" y="310" width="160" height="-1"/>
+              <AbsoluteConstraints x="470" y="270" width="160" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -406,7 +383,7 @@
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="330" y="340" width="-1" height="-1"/>
+              <AbsoluteConstraints x="330" y="300" width="-1" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -416,7 +393,7 @@
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="330" y="310" width="-1" height="-1"/>
+              <AbsoluteConstraints x="330" y="270" width="-1" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -426,7 +403,7 @@
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="330" y="200" width="-1" height="-1"/>
+              <AbsoluteConstraints x="330" y="180" width="-1" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -439,7 +416,7 @@
           </Events>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="330" y="260" width="-1" height="-1"/>
+              <AbsoluteConstraints x="330" y="230" width="-1" height="-1"/>
             </Constraint>
           </Constraints>
         </Component>
@@ -471,18 +448,38 @@
         </Component>
         <Component class="javax.swing.JLabel" name="lbImagen1">
           <Properties>
-            <Property name="text" type="java.lang.String" value="Imagen"/>
+            <Property name="text" type="java.lang.String" value="Imagen (opcional)"/>
           </Properties>
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="360" y="400" width="-1" height="20"/>
+              <AbsoluteConstraints x="330" y="340" width="-1" height="20"/>
             </Constraint>
           </Constraints>
         </Component>
         <Component class="com.toedter.calendar.JDateChooser" name="dcFecha">
           <Constraints>
             <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
-              <AbsoluteConstraints x="450" y="200" width="170" height="-1"/>
+              <AbsoluteConstraints x="450" y="180" width="170" height="20"/>
+            </Constraint>
+          </Constraints>
+        </Component>
+        <Component class="javax.swing.JButton" name="btnQuitarImagen">
+          <Properties>
+            <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+              <Font name="Tahoma" size="14" style="1"/>
+            </Property>
+            <Property name="text" type="java.lang.String" value="Quitar imagen"/>
+            <Property name="toolTipText" type="java.lang.String" value=""/>
+            <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+              <Color id="Cursor Por defecto"/>
+            </Property>
+          </Properties>
+          <Events>
+            <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="btnQuitarImagenActionPerformed"/>
+          </Events>
+          <Constraints>
+            <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
+              <AbsoluteConstraints x="450" y="430" width="170" height="50"/>
             </Constraint>
           </Constraints>
         </Component>
diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.java b/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.java
index 8f12c4802e21763457a2ffd1fd06f21d2c6d46f8..ad75ef0c568adea7fd85d784c1ee0b523f72cdcc 100644
--- a/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.java
+++ b/UyTube_aplicacion/src/Presentacion/Usuario/frmModificarUsuario.java
@@ -7,14 +7,11 @@ import Logica.Fabrica;
 import Logica.Interfaces.IAdmin;
 import Presentacion.ListaDeReproduccion.frmModificarListaDeReproduccion;
 import Presentacion.Video.frmModificarVideo;
-import Presentacion.Video.frmValorarVideo;
-import Presentacion.frmPrincipal;
-import com.sun.org.apache.bcel.internal.generic.Select;
 import java.awt.Image;
 import java.io.File;
-import java.sql.Date;
-import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import javax.swing.DefaultListModel;
 import javax.swing.ImageIcon;
 import javax.swing.JFileChooser;
@@ -22,10 +19,11 @@ import javax.swing.JOptionPane;
 import javax.swing.filechooser.FileNameExtensionFilter;
 
 public class frmModificarUsuario extends javax.swing.JDialog {
-    
+
     IAdmin sys;
     DtUsuario user;
     String ruta;
+
     public frmModificarUsuario(java.awt.Frame parent, boolean modal) {
         super(parent, modal);
         initComponents();
@@ -37,7 +35,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         btnVideo.setEnabled(false);
         btnListaReprodiccion.setEnabled(false);
         desactivarCampos();
-         try {
+        try {
             // obtiene la instancia de sistema
             sys = Fabrica.getInstancia().getIAdmin();
 
@@ -46,7 +44,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         } catch (Exception e) {
             JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE);
         }
-        
+
     }
 
     @SuppressWarnings("unchecked")
@@ -79,8 +77,6 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         jpImagen = new javax.swing.JPanel();
         lbImg = new javax.swing.JLabel();
         jSeparator6 = new javax.swing.JSeparator();
-        lbOpcional = new javax.swing.JLabel();
-        lbImagen = new javax.swing.JLabel();
         txtContraNueva1 = new javax.swing.JTextField();
         txtContraNueva = new javax.swing.JTextField();
         txtApellido = new javax.swing.JTextField();
@@ -93,6 +89,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         rbPrivado = new javax.swing.JRadioButton();
         lbImagen1 = new javax.swing.JLabel();
         dcFecha = new com.toedter.calendar.JDateChooser();
+        btnQuitarImagen = new javax.swing.JButton();
 
         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
         setTitle("Modificar usuario");
@@ -139,7 +136,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         lbMes.add(btnModificar, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 490, 270, 50));
 
         btnSeleccionar.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
-        btnSeleccionar.setText("Seleccionar");
+        btnSeleccionar.setText("Seleccionar imagen");
         btnSeleccionar.setToolTipText("");
         btnSeleccionar.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
         btnSeleccionar.addActionListener(new java.awt.event.ActionListener() {
@@ -147,7 +144,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
                 btnSeleccionarActionPerformed(evt);
             }
         });
-        lbMes.add(btnSeleccionar, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 450, 120, 60));
+        lbMes.add(btnSeleccionar, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 370, 170, 50));
 
         jSeparator10.setOrientation(javax.swing.SwingConstants.VERTICAL);
         lbMes.add(jSeparator10, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 0, 10, 560));
@@ -169,8 +166,8 @@ public class frmModificarUsuario extends javax.swing.JDialog {
 
         lbMes.add(jScrollPane51, new org.netbeans.lib.awtextra.AbsoluteConstraints(740, 100, 200, 160));
 
-        btnListaReprodiccion.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
-        btnListaReprodiccion.setText("Lista de reproduccion");
+        btnListaReprodiccion.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
+        btnListaReprodiccion.setText("Modificar lista de reproducción");
         btnListaReprodiccion.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
                 btnListaReprodiccionActionPerformed(evt);
@@ -178,8 +175,8 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         });
         lbMes.add(btnListaReprodiccion, new org.netbeans.lib.awtextra.AbsoluteConstraints(670, 340, 270, 50));
 
-        btnVideo.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
-        btnVideo.setText("Video");
+        btnVideo.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
+        btnVideo.setText("Modificar video");
         btnVideo.addActionListener(new java.awt.event.ActionListener() {
             public void actionPerformed(java.awt.event.ActionEvent evt) {
                 btnVideoActionPerformed(evt);
@@ -198,36 +195,25 @@ public class frmModificarUsuario extends javax.swing.JDialog {
 
         jpImagen.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
         jpImagen.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
-        jpImagen.add(lbImg, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 140, 110));
+        jpImagen.add(lbImg, new org.netbeans.lib.awtextra.AbsoluteConstraints(5, 5, 100, 100));
 
-        lbMes.add(jpImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 430, 140, 110));
+        lbMes.add(jpImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 370, 110, 110));
         lbMes.add(jSeparator6, new org.netbeans.lib.awtextra.AbsoluteConstraints(310, 40, 650, 20));
-
-        lbOpcional.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
-        lbOpcional.setText("Opcional *");
-        lbMes.add(lbOpcional, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 520, -1, -1));
-        lbMes.add(lbImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 420, 140, 110));
-        lbMes.add(txtContraNueva1, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 340, 160, -1));
-
-        txtContraNueva.addKeyListener(new java.awt.event.KeyAdapter() {
-            public void keyTyped(java.awt.event.KeyEvent evt) {
-                txtContraNuevaKeyTyped(evt);
-            }
-        });
-        lbMes.add(txtContraNueva, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 310, 160, -1));
+        lbMes.add(txtContraNueva1, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 300, 160, -1));
+        lbMes.add(txtContraNueva, new org.netbeans.lib.awtextra.AbsoluteConstraints(470, 270, 160, -1));
         lbMes.add(txtApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 100, 230, -1));
 
         lbApellido.setText("Apellido");
         lbMes.add(lbApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 100, -1, -1));
 
         lbRCN.setText("Repita contraseña");
-        lbMes.add(lbRCN, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 340, -1, -1));
+        lbMes.add(lbRCN, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 300, -1, -1));
 
         lbCN.setText("Contraseña nueva");
-        lbMes.add(lbCN, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 310, -1, -1));
+        lbMes.add(lbCN, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 270, -1, -1));
 
         lbFecha.setText("Fecha de Nac.");
-        lbMes.add(lbFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 200, -1, -1));
+        lbMes.add(lbFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 180, -1, -1));
 
         chkCambiarContra.setText("Cambiar contraseña");
         chkCambiarContra.addActionListener(new java.awt.event.ActionListener() {
@@ -235,7 +221,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
                 chkCambiarContraActionPerformed(evt);
             }
         });
-        lbMes.add(chkCambiarContra, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 260, -1, -1));
+        lbMes.add(chkCambiarContra, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 230, -1, -1));
 
         grpPrivacidad.add(rbPublico);
         rbPublico.setText("Publico");
@@ -245,9 +231,20 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         rbPrivado.setText("Privado");
         lbMes.add(rbPrivado, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 270, -1, -1));
 
-        lbImagen1.setText("Imagen");
-        lbMes.add(lbImagen1, new org.netbeans.lib.awtextra.AbsoluteConstraints(360, 400, -1, 20));
-        lbMes.add(dcFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 200, 170, -1));
+        lbImagen1.setText("Imagen (opcional)");
+        lbMes.add(lbImagen1, new org.netbeans.lib.awtextra.AbsoluteConstraints(330, 340, -1, 20));
+        lbMes.add(dcFecha, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 180, 170, 20));
+
+        btnQuitarImagen.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
+        btnQuitarImagen.setText("Quitar imagen");
+        btnQuitarImagen.setToolTipText("");
+        btnQuitarImagen.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+        btnQuitarImagen.addActionListener(new java.awt.event.ActionListener() {
+            public void actionPerformed(java.awt.event.ActionEvent evt) {
+                btnQuitarImagenActionPerformed(evt);
+            }
+        });
+        lbMes.add(btnQuitarImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 430, 170, 50));
 
         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
         getContentPane().setLayout(layout);
@@ -272,15 +269,16 @@ public class frmModificarUsuario extends javax.swing.JDialog {
 
         pack();
     }// </editor-fold>//GEN-END:initComponents
- private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios){
+ private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios) {
         DefaultListModel modelo = new DefaultListModel();
         for (DtUsuario it : ListaUsuarios) {
             modelo.addElement(it.getNickname());
         }
         lstUsuarios.setModel(modelo);
-        
+
     }
- private void desactivarCampos(){
+
+    private void desactivarCampos() {
         txtNombre.setEnabled(false);
         txtContraNueva.setEnabled(false);
         txtContraNueva1.setEnabled(false);
@@ -296,20 +294,19 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         lbCorreo.setEnabled(false);
         lbDescripcion.setEnabled(false);
         lbFecha.setEnabled(false);
-        lbOpcional.setEnabled(false);
         chkCambiarContra.setEnabled(false);
         rbPublico.setEnabled(false);
         rbPrivado.setEnabled(false);
         btnModificar.setEnabled(false);
         btnSeleccionar.setEnabled(false);
+        btnQuitarImagen.setEnabled(false);
         txtDescrpcion.setEnabled(false);
-        
-        
-        
+
     }
- private void activarCampos(){
-    
-  txtNombre.setEnabled(true);
+
+    private void activarCampos() {
+
+        txtNombre.setEnabled(true);
         txtDescrpcion.setEnabled(true);
         txtNombreCanal.setEnabled(true);
         txtApellido.setEnabled(true);
@@ -322,37 +319,37 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         lbCorreo.setEnabled(true);
         lbDescripcion.setEnabled(true);
         lbFecha.setEnabled(true);
-        lbOpcional.setEnabled(true);
         chkCambiarContra.setEnabled(true);
         rbPublico.setEnabled(true);
         rbPrivado.setEnabled(true);
         btnModificar.setEnabled(true);
         btnSeleccionar.setEnabled(true);
+        btnQuitarImagen.setEnabled(true);
         txtDescrpcion.setEnabled(true);
     }
- 
- private String seleccionarImagen() {
+
+    private String seleccionarImagen() {
         // Crea un JFileChooser
         JFileChooser JFC = new JFileChooser();
         // crea un filtro para aceptar solo algunas extensiones
         FileNameExtensionFilter filtroImagen = new FileNameExtensionFilter("JPG, PNG", "jpg", "png");
         // Agrega el filtro al JFileChooser
         JFC.setFileFilter(filtroImagen);
-        
+
         // archivo seleccionado
         File archivo;
         // para saber si se selecciono algo o se cancelo
         int resultado;
-        
+
         while (true) {
             // muestra el JFileChooser
             resultado = JFC.showOpenDialog(this);
-            
+
             // Si pasa algo que no sea el aceptar
-            if (resultado != JFileChooser.APPROVE_OPTION){
+            if (resultado != JFileChooser.APPROVE_OPTION) {
                 return "";
             }
-            
+
             // obtiene el archivo seleccionado
             archivo = JFC.getSelectedFile();
 
@@ -362,7 +359,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
                 String rutaArchivo = archivo.getAbsolutePath();
                 // obtiene el archivo como imagen a partir de la ruta
                 Image img = new ImageIcon(rutaArchivo).getImage();
-                
+
                 // verifica que tanto se deformará la imagen al mostrarla en un cuadrado
                 float deformacion;
                 if (img.getHeight(null) > img.getWidth(null)) {
@@ -370,7 +367,7 @@ public class frmModificarUsuario extends javax.swing.JDialog {
                 } else {
                     deformacion = img.getWidth(null) / img.getHeight(null);
                 }
-                
+
                 if (deformacion < 1.3 && deformacion >= 1) {
                     // si no se deforma demasiado
                     // devuelve la ruta absoluta
@@ -389,8 +386,8 @@ public class frmModificarUsuario extends javax.swing.JDialog {
             }
         }
     }
- 
- private void cargarImagenEnJlabel(javax.swing.JLabel jLabelx, String Ruta){
+
+    private void cargarImagenEnJlabel(javax.swing.JLabel jLabelx, String Ruta) {
         jLabelx.setText(null);
         // Carga la imagen a la variable de tipo Image
         Image img = new ImageIcon(Ruta).getImage();
@@ -401,66 +398,81 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         // establece la imagen en el label
         jLabelx.setIcon(icono);
     }
- 
- 
+
+    private boolean validarNombres(String _nombre) {
+        Pattern patronNombres = Pattern.compile("^([A-Za-zÑñÁáÉéÍíÓóÚú]+)\\s*([A-Za-zÑñÁáÉéÍíÓóÚú]+)\\s*([A-Za-zÑñÁáÉéÍíÓóÚú]+)$");
+        Matcher mather = patronNombres.matcher(_nombre);
+        if (mather.find() == true) {
+            return true;
+        }
+        return false;
+    }
+
     private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificarActionPerformed
         try {
-            
-            
-            if(lstUsuarios.isSelectionEmpty()){
-                    JOptionPane.showMessageDialog(null, "Seleccione un usuario para modificar", "Error", JOptionPane.WARNING_MESSAGE);
-
-            }else{
-                if(txtNombre.getText().isEmpty()){
-                                JOptionPane.showMessageDialog(null, "El campo nombre no puede quedar vacío", "Error", JOptionPane.WARNING_MESSAGE);
-
-            }else{
-                if(txtApellido.getText().isEmpty()){
-                                JOptionPane.showMessageDialog(null, "El campo apellido no puede quedar vacío", "Error", JOptionPane.WARNING_MESSAGE);
-
-            }else{
-                    if(txtNombreCanal.getText().isEmpty()){
-                                JOptionPane.showMessageDialog(null, "El campo nombre de canal no puede quedar vacío", "Error", JOptionPane.WARNING_MESSAGE);
-
-            }else{
-                
-                
-            String pass = user.getContrasenia();
-            if (chkCambiarContra.isSelected()) {
-                        
-                if (!(txtContraNueva.getText().equals("") && txtContraNueva1.getText().equals(""))) {
-
-                    if (txtContraNueva.getText().equals(txtContraNueva1.getText())) {
-                        pass = txtContraNueva.getText();
-                    } else {
-                        JOptionPane.showMessageDialog(null, "Las contraseñas no coinciden, no se pudo efectuar el cambio de contraseña. Inténtelo de nuevo", "OK", JOptionPane.WARNING_MESSAGE);
-                        return;
-                    }
 
+            if (lstUsuarios.isSelectionEmpty()) {
+                JOptionPane.showMessageDialog(null, "Seleccione un usuario para modificar", "Error", JOptionPane.WARNING_MESSAGE);
+            } else {
+                if (txtNombre.getText().isEmpty()) {
+                    JOptionPane.showMessageDialog(null, "El campo nombre no puede quedar vacío", "Error", JOptionPane.WARNING_MESSAGE);
                 } else {
-                    JOptionPane.showMessageDialog(null, "Ingrese la contraseña nueva", "OK", JOptionPane.WARNING_MESSAGE);
-                    return;
-                }
-            }
-                java.sql.Date fecha = null; //casteo fecha
-                            if (dcFecha.getDate() != null) {
-                                java.util.Date utilDate = dcFecha.getDate();
-                                fecha = new java.sql.Date(utilDate.getTime());
+                    txtNombre.setText(txtNombre.getText().trim());
+                    if (!validarNombres(txtNombre.getText())) {
+                        JOptionPane.showMessageDialog(null, "El nombre tiene caracteres no válidos", "Error", JOptionPane.WARNING_MESSAGE);
+                    } else {
+                        if (txtApellido.getText().isEmpty()) {
+                            JOptionPane.showMessageDialog(null, "El campo apellido no puede quedar vacío", "Error", JOptionPane.WARNING_MESSAGE);
+                        } else {
+                            txtApellido.setText(txtNombre.getText().trim());
+                            if (!validarNombres(txtApellido.getText())) {
+                                JOptionPane.showMessageDialog(null, "El apellido tiene caracteres no válidos", "Error", JOptionPane.WARNING_MESSAGE);
+                            } else {
+                                if (txtNombreCanal.getText().isEmpty()) {
+                                    JOptionPane.showMessageDialog(null, "El campo nombre de canal no puede quedar vacío", "Error", JOptionPane.WARNING_MESSAGE);
+                                } else {
+                                    txtNombreCanal.setText(txtNombre.getText().trim());
+                                    String pass = user.getContrasenia();
+                                    if (chkCambiarContra.isSelected()) {
+
+                                        if (!(txtContraNueva.getText().equals("") && txtContraNueva1.getText().equals(""))) {
+
+                                            if (txtContraNueva.getText().equals(txtContraNueva1.getText())) {
+                                                pass = txtContraNueva.getText();
+                                            } else {
+                                                JOptionPane.showMessageDialog(null, "Las contraseñas no coinciden, no se pudo efectuar el cambio de contraseña. Inténtelo de nuevo", "OK", JOptionPane.WARNING_MESSAGE);
+                                                return;
+                                            }
+
+                                        } else {
+                                            JOptionPane.showMessageDialog(null, "Ingrese la contraseña nueva", "OK", JOptionPane.WARNING_MESSAGE);
+                                            return;
+                                        }
+                                    }
+                                    java.sql.Date fecha = null; //casteo fecha
+                                    if (dcFecha.getDate() != null) {
+                                        java.util.Date utilDate = dcFecha.getDate();
+                                        fecha = new java.sql.Date(utilDate.getTime());
+                                    }
+                                    DtUsuario u = new DtUsuario(user.getNickname(), pass, txtNombre.getText(), txtApellido.getText(), user.getCorreo(), fecha, ruta, PROPERTIES);
+                                    Privacidad priv;
+                                    if (rbPrivado.isSelected()) {
+                                        priv = Privacidad.PRIVADO;
+                                    } else {
+                                        priv = Privacidad.PUBLICO;
+                                    }
+                                    DtCanal c = new DtCanal(0, txtNombreCanal.getText(), txtDescrpcion.getText(), priv);
+                                    sys.modificarUsuarioYCanal(u, c);
+
+                                    JOptionPane.showMessageDialog(null, "Datos modificados correctamente", "OK", JOptionPane.INFORMATION_MESSAGE);
+                                    dispose();
+
+                                }
                             }
-                DtUsuario u = new DtUsuario(user.getNickname(), pass, txtNombre.getText(), txtApellido.getText(), user.getCorreo(), fecha, ruta, PROPERTIES);
-                Privacidad priv;
-                if(rbPrivado.isSelected()){
-                    priv = Privacidad.PRIVADO;
-                }else{
-                    priv = Privacidad.PUBLICO;
+                        }
+                    }
                 }
-                DtCanal c = new DtCanal(0, txtNombreCanal.getText(), txtDescrpcion.getText(), priv);
-                sys.modificarUsuarioYCanal(u, c);
-
-                JOptionPane.showMessageDialog(null, "Datos modificados correctamente", "OK", JOptionPane.INFORMATION_MESSAGE);
-                dispose();
-             
-            }}}}
+            }
         } catch (Exception e) {
             JOptionPane.showMessageDialog(null, "Ha ocurrido un error\n" + e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
         }
@@ -468,13 +480,16 @@ public class frmModificarUsuario extends javax.swing.JDialog {
 
     private void btnSeleccionarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSeleccionarActionPerformed
         //cargarImagen(lbImagen);
+        String rutaAnterior = ruta;
         ruta = seleccionarImagen();
-                cargarImagenEnJlabel(lbImg, ruta);
-
+        if (ruta.isEmpty()) {
+            ruta = rutaAnterior;
+        }
+        cargarImagenEnJlabel(lbImg, ruta);
     }//GEN-LAST:event_btnSeleccionarActionPerformed
 
     private void btnListaReprodiccionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnListaReprodiccionActionPerformed
-        new frmModificarListaDeReproduccion(this,true,lstUsuarios.getSelectedValue()).setVisible(true);
+        new frmModificarListaDeReproduccion(this, true, lstUsuarios.getSelectedValue()).setVisible(true);
     }//GEN-LAST:event_btnListaReprodiccionActionPerformed
 
     private void btnVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnVideoActionPerformed
@@ -485,46 +500,42 @@ public class frmModificarUsuario extends javax.swing.JDialog {
         sys.liberarMemoriaUsuario();
         dispose();
     }//GEN-LAST:event_btnCancelarActionPerformed
- private void cargarDatosDelUsuario(DtUsuario u){
+    private void cargarDatosDelUsuario(DtUsuario u) {
         txtNombre.setText(u.getNombre());
         txtApellido.setText(u.getApellido());
-        txtCorreo.setText(u.getCorreo());   
+        txtCorreo.setText(u.getCorreo());
         dcFecha.setDate(u.getFechaNacimiento());
         cargarImagenEnJlabel(lbImg, u.getImagen());
-        
+
     }
-    private void cargarDatosDelCanal(DtCanal c){
+
+    private void cargarDatosDelCanal(DtCanal c) {
         txtNombreCanal.setText(c.getNombre());
         txtDescrpcion.setText(c.getDescripcion());
-        if (c.getPrivacidad() == Privacidad.PUBLICO){
+        if (c.getPrivacidad() == Privacidad.PUBLICO) {
             rbPublico.setSelected(true);
-        }else{
-          rbPrivado.setSelected(true);
+        } else {
+            rbPrivado.setSelected(true);
         }
     }
-    
-    
-    
-    
-    
+
+
     private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged
-         try {
-             if(! lstUsuarios.isSelectionEmpty()){
-                 activarCampos();
-             }
-             btnVideo.setEnabled(true);
-             btnListaReprodiccion.setEnabled(true);
+        try {
+            if (!lstUsuarios.isSelectionEmpty()) {
+                activarCampos();
+            }
+            btnVideo.setEnabled(true);
+            btnListaReprodiccion.setEnabled(true);
             String nick = lstUsuarios.getSelectedValue();
             user = sys.seleccionarUsuario(nick);
             cargarDatosDelUsuario(user);
             DtCanal dtc = sys.obtenerCanalDeUsuario();
             cargarDatosDelCanal(dtc);
-            ruta=user.getImagen();
+            ruta = user.getImagen();
             txtContraNueva.setText("");
             txtContraNueva1.setText("");
-            
-            
-            
+
         } catch (Exception e) {
             JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE);
 
@@ -532,35 +543,32 @@ public class frmModificarUsuario extends javax.swing.JDialog {
     }//GEN-LAST:event_lstUsuariosValueChanged
 
     private void chkCambiarContraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_chkCambiarContraActionPerformed
-        if(chkCambiarContra.isSelected()){
+        if (chkCambiarContra.isSelected()) {
             txtContraNueva.setEnabled(true);
             txtContraNueva1.setEnabled(true);
             lbCN.setEnabled(true);
             lbRCN.setEnabled(true);
-            
-        }else{
-             txtContraNueva.setEnabled(false);
+
+        } else {
+            txtContraNueva.setEnabled(false);
             txtContraNueva1.setEnabled(false);
             lbCN.setEnabled(false);
             lbRCN.setEnabled(false);
         }        // TODO add your handling code here:
     }//GEN-LAST:event_chkCambiarContraActionPerformed
 
-    private void txtContraNuevaKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtContraNuevaKeyTyped
-        // TODO add your handling code here:
-    }//GEN-LAST:event_txtContraNuevaKeyTyped
-
-  
-    
-    
-    
-    
-    
-    
+    private void btnQuitarImagenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnQuitarImagenActionPerformed
+        // Quitar imagen
+        ruta = "";
+        cargarImagenEnJlabel(lbImg, ruta);
+    }//GEN-LAST:event_btnQuitarImagenActionPerformed
+
+
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.JButton btnCancelar;
     private javax.swing.JButton btnListaReprodiccion;
     private javax.swing.JButton btnModificar;
+    private javax.swing.JButton btnQuitarImagen;
     private javax.swing.JButton btnSeleccionar;
     private javax.swing.JButton btnVideo;
     private javax.swing.JCheckBox chkCambiarContra;
@@ -580,13 +588,11 @@ public class frmModificarUsuario extends javax.swing.JDialog {
     private javax.swing.JLabel lbCorreo;
     private javax.swing.JLabel lbDescripcion;
     private javax.swing.JLabel lbFecha;
-    private javax.swing.JLabel lbImagen;
     private javax.swing.JLabel lbImagen1;
     private javax.swing.JLabel lbImg;
     private javax.swing.JPanel lbMes;
     private javax.swing.JLabel lbNombre;
     private javax.swing.JLabel lbNombreC;
-    private javax.swing.JLabel lbOpcional;
     private javax.swing.JLabel lbRCN;
     private javax.swing.JList<String> lstUsuarios;
     private javax.swing.JRadioButton rbPrivado;