diff --git a/UyTube_aplicacion/src/Logica/Controladores/CAdmin.java b/UyTube_aplicacion/src/Logica/Controladores/CAdmin.java index a36876f19d1aae67744f477728b3ce326971679b..e3c9e95db08df5caf6da51fac3eeceacd5a546ee 100644 --- a/UyTube_aplicacion/src/Logica/Controladores/CAdmin.java +++ b/UyTube_aplicacion/src/Logica/Controladores/CAdmin.java @@ -620,7 +620,7 @@ public class CAdmin implements IAdmin{ public boolean validarNuevaListaParticular(String nombre){ /** - * Devuelve true si usuarioSeleccionado posee una lista de reproducion con ese nombre + * Devuelve false si usuarioSeleccionado posee una lista de reproducion con ese nombre */ if (this.usuarioSeleccionado == null){ throw new RuntimeException("El sistema no tiene un usuario seleccionado"); diff --git a/UyTube_aplicacion/src/Logica/main.java b/UyTube_aplicacion/src/Logica/main.java deleted file mode 100644 index 9fd2eceeae347b30079418c5433b5e5f3c0f9927..0000000000000000000000000000000000000000 --- a/UyTube_aplicacion/src/Logica/main.java +++ /dev/null @@ -1,7 +0,0 @@ -package Logica; - -public class main { - public static void main(String[] args) { - - } -} diff --git a/UyTube_aplicacion/src/Presentacion/DatosDePrueba.java b/UyTube_aplicacion/src/Presentacion/DatosDePrueba.java index 491c319329997dc996883008e289009324f10138..ab3b13fb6fd6c616784f8ae4a0baa4d800c85c37 100644 --- a/UyTube_aplicacion/src/Presentacion/DatosDePrueba.java +++ b/UyTube_aplicacion/src/Presentacion/DatosDePrueba.java @@ -23,13 +23,22 @@ public class DatosDePrueba { sys = f.getIAdmin(); // ahora se puede interactuar con el sistema invocando sus funciones mediante sys + cargarCategorias(); cargarUsuariosYCanales(); + cargarSeguidores(); cargarVideosAUsuarios(); cargarListasDeReproduccionAUsuarios(); agregarVideosAListasDeReproduccion(); + agregarComentarios(); mostrarDatos(); } + private static void cargarCategorias(){ + sys.altaCategoria("MUSICA"); + sys.altaCategoria("DEPORTE"); + sys.altaCategoria("GAMING"); + } + private static void cargarUsuariosYCanales(){ /* Plantilla de creacion de usuario: instance.altaUsuarioCanal( @@ -61,8 +70,36 @@ public class DatosDePrueba { new DtUsuario("jarrieta31", "jarrieta31", "Julio", "Arrieta", "julioarrieta23@gmail.com", new Date(76, 1, 31), "https://images.app.goo.gl/MX2hauy99QVndWdv6", 0), new DtCanal(0, "jarrieta31", "El mejor canal para pasar el rato", Privacidad.PUBLICO) ); - - + } + + private static void cargarSeguidores(){ + sys.seleccionarUsuario("JotaJota96"); + sys.seleccionarUsuarioActual("LuC31G"); + sys.seguirUsuario(); + sys.seleccionarUsuarioActual("camilillo15"); + sys.seguirUsuario(); + sys.seleccionarUsuarioActual("MCBolso"); + sys.seguirUsuario(); + + sys.seleccionarUsuario("LuC31G"); + sys.seleccionarUsuarioActual("JotaJota96"); + sys.seguirUsuario(); + sys.seleccionarUsuarioActual("jarrieta31"); + sys.seguirUsuario(); + + + sys.seleccionarUsuario("jarrieta31"); + sys.seleccionarUsuarioActual("LuC31G"); + sys.seguirUsuario(); + sys.seleccionarUsuarioActual("JotaJota96"); + sys.seguirUsuario(); + sys.seleccionarUsuarioActual("MCBolso"); + sys.seguirUsuario(); + sys.seleccionarUsuarioActual("camilillo15"); + sys.seguirUsuario(); + + sys.liberarMemoriaUsuario(); + sys.liberarMemoriaUsuarioActual(); } private static void cargarVideosAUsuarios(){ @@ -76,16 +113,16 @@ public class DatosDePrueba { sys.seleccionarUsuario("JotaJota96"); sys.altaVideo( - new DtVideo(0, "Naufrago - 4 Pesos de Propina (Cover en guitarra)", "Cover de Naufrago - 4 Pesos de Propina ", new Time(18, 30, 3), new Date(119, 1, 2), "https://www.youtube.com/watch?v=ksuDZQuJLSY", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "Naufrago - 4 Pesos de Propina (Cover en guitarra)", "Cover de Naufrago - 4 Pesos de Propina ", new Time(18, 30, 3), new Date(119, 1, 2), "https://www.youtube.com/watch?v=ksuDZQuJLSY", Privacidad.PRIVADO, "MUSICA", 0, 0) ); sys.altaVideo( - new DtVideo(0, "Como pasa el tiempo - Cuarteto de nos (Cover en guitarra)", "Cover de Como pasa el tiempo - Cuarteto de nos ", new Time(15, 0, 0), new Date(119, 4, 15), "https://www.youtube.com/watch?v=n1AR_VSHPek", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "Como pasa el tiempo - Cuarteto de nos (Cover en guitarra)", "Cover de Como pasa el tiempo - Cuarteto de nos ", new Time(15, 0, 0), new Date(119, 4, 15), "https://www.youtube.com/watch?v=n1AR_VSHPek", Privacidad.PRIVADO, "MUSICA", 0, 0) ); sys.altaVideo( - new DtVideo(0, "La casa de al lado Christian Cary (Cover en guitarra)", "Cover de La casa de al lado Christian Cary", new Time(21, 15, 0), new Date(119, 6, 21), "https://www.youtube.com/watch?v=An0uvGCUB9k", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "La casa de al lado Christian Cary (Cover en guitarra)", "Cover de La casa de al lado Christian Cary", new Time(21, 15, 0), new Date(119, 6, 21), "https://www.youtube.com/watch?v=An0uvGCUB9k", Privacidad.PRIVADO, "MUSICA", 0, 0) ); sys.altaVideo( - new DtVideo(0, "Verde - La Triple Nelson (Cover en guitarra)", "Cover de Verde - La Triple Nelson", new Time(11, 38, 0), new Date(119, 8, 29), "https://www.youtube.com/watch?v=ojYnrNRXOjk", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "Verde - La Triple Nelson (Cover en guitarra)", "Cover de Verde - La Triple Nelson", new Time(11, 38, 0), new Date(119, 8, 29), "https://www.youtube.com/watch?v=ojYnrNRXOjk", Privacidad.PRIVADO, "MUSICA", 0, 0) ); sys.liberarMemoriaUsuario(); @@ -102,23 +139,23 @@ public class DatosDePrueba { new DtVideo(0, "NO CREERÁS LO QUE LLEVO EN MI BOLSO", "Camila Guiribitey", new Time(18, 30, 3), new Date(119, 1, 2), "https://www.youtube.com/watch?v=7wCUuplgmQM", Privacidad.PRIVADO, "UNDEFINED", 0, 0) ); sys.altaVideo( - new DtVideo(0, "C.N. de F. Tema Nuevo 2019", "Por la del Bolso hay que matar o morir - La Banda Del Parque", new Time(15, 0, 0), new Date(119, 4, 15), "https://www.youtube.com/watch?v=9L5qQ9iyhJk", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "C.N. de F. Tema Nuevo 2019", "Por la del Bolso hay que matar o morir - La Banda Del Parque", new Time(15, 0, 0), new Date(119, 4, 15), "https://www.youtube.com/watch?v=9L5qQ9iyhJk", Privacidad.PRIVADO, "DEPORTE", 0, 0) ); sys.altaVideo( - new DtVideo(0, "No se como voy, no se como vengo", "Canta el bolso en la previa vs San Lorenzo", new Time(21, 15, 0), new Date(119, 6, 21), "https://www.youtube.com/watch?v=S0_FBF8XaO0", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "No se como voy, no se como vengo", "Canta el bolso en la previa vs San Lorenzo", new Time(21, 15, 0), new Date(119, 6, 21), "https://www.youtube.com/watch?v=S0_FBF8XaO0", Privacidad.PRIVADO, "DEPORTE", 0, 0) ); sys.altaVideo( - new DtVideo(0, "Las mejores canciones de La Banda", "de La Banda del Parque (CON LETRA) | Hinchada de Nacional 2019", new Time(11, 38, 0), new Date(119, 8, 29), "https://www.youtube.com/watch?v=ob0TPs5-Y5Y", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "Las mejores canciones de La Banda", "de La Banda del Parque (CON LETRA) | Hinchada de Nacional 2019", new Time(11, 38, 0), new Date(119, 8, 29), "https://www.youtube.com/watch?v=ob0TPs5-Y5Y", Privacidad.PRIVADO, "MUSICA", 0, 0) ); sys.liberarMemoriaUsuario(); sys.seleccionarUsuario("camilillo15"); sys.altaVideo( - new DtVideo(1, "505 - Arctic Monkeys", "Album Favourite Worst Nightmare", new Time(18, 30, 3), new Date(119, 1, 2), "https://www.youtube.com/watch?v=iV5VKdcQOJE", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(1, "505 - Arctic Monkeys", "Album Favourite Worst Nightmare", new Time(18, 30, 3), new Date(119, 1, 2), "https://www.youtube.com/watch?v=iV5VKdcQOJE", Privacidad.PRIVADO, "MUSICA", 0, 0) ); sys.altaVideo( - new DtVideo(0, "Wonderwall - Oasis", "Ni idea como se llama el album", new Time(15, 0, 0), new Date(119, 4, 15), "https://www.youtube.com/watch?v=bx1Bh8ZvH84", Privacidad.PRIVADO, "UNDEFINED", 0, 0) + new DtVideo(0, "Wonderwall - Oasis", "Ni idea como se llama el album", new Time(15, 0, 0), new Date(119, 4, 15), "https://www.youtube.com/watch?v=bx1Bh8ZvH84", Privacidad.PRIVADO, "MUSICA", 0, 0) ); sys.liberarMemoriaUsuario(); @@ -127,7 +164,6 @@ public class DatosDePrueba { sys.altaVideo( new DtVideo(1, "Tutorial android 1", "Curso de android, tarea 4", new Time(00, 04, 2), new Date(119, 9, 30), "https://www.youtube.com/watch?v=xCq7YXGXaLc&list=PL-6ex1wzFuEh9RUN-5nCOU13eYknEXl09", Privacidad.PUBLICO, "UNDEFINED", 0, 0) ); - sys.seleccionarUsuario("jarrieta31"); sys.altaVideo( new DtVideo(1, "Tutorial android 2", "Curso de android, tarea 5", new Time(00, 1, 17), new Date(119, 9, 30), "https://www.youtube.com/watch?v=i4W5LFeIdNU", Privacidad.PUBLICO, "UNDEFINED", 0, 0) ); @@ -226,6 +262,52 @@ public class DatosDePrueba { } + + private static void agregarComentarios(){ + sys.seleccionarUsuario("JotaJota96"); + sys.seleccionarVideo(1); + + // 1 + sys.seleccionarUsuarioActual("LuC31G"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "Buenisimo!!", 0)); + // 2 + sys.seleccionarUsuarioActual("JotaJota96"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "Gracias!!!", 0), 1); + // 3 + sys.seleccionarUsuarioActual("camilillo15"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "Cuando sale algo de los Artic Monkeys?",0)); + // 4 + sys.seleccionarUsuarioActual("LuC31G"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "Solo sube covers de rock nacional", 0), 3); + // 5 + sys.seleccionarUsuarioActual("MCBolso"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "siempre hay un boludo", 0), 4); + // 6 + sys.seleccionarUsuarioActual("jarrieta31"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "O de los Guns and Roses", 0), 3); + // 7 + sys.seleccionarUsuarioActual("MCBolso"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "otro mas...", 0), 6); + // 8 + sys.seleccionarUsuarioActual("jarrieta31"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "otro mas que?", 7), 7); + // 9 + sys.seleccionarUsuarioActual("MCBolso"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "¿Que usas para editar el video?", 0)); + // 10 + sys.seleccionarUsuarioActual("JotaJota96"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "Sony Vegas Pro en Windows 10", 0), 9); + // 11 + sys.seleccionarUsuarioActual("MCBolso"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "Tipico, nadie usa Linux.", 0), 10); + // 12 + sys.seleccionarUsuarioActual("jarrieta31"); + sys.altaComentario(new DtComentario(0, "", new Date(119, 7, 1), "Boo, que paso con Linux? hee??", 0), 11); + + } + + + ///////////////////////////////////////////////////////////////////////////////////////////// // Esta tampoco la toquen private static void mostrarDatos(){ ArrayList<DtUsuario> users = sys.listarUsuarios(); @@ -236,10 +318,23 @@ public class DatosDePrueba { System.out.println(u.toString()); sys.seleccionarUsuario(u.getNickname()); - tab(tab+1); System.out.println("-- Videos --"); + tab(tab+1); System.out.println("Videos:"); for (DtVideo v : sys.listarVideosDeUsuario()) { tab(tab+1); System.out.println(v.toString()); + + tab(tab+2); System.out.println("Comentarios :"); + sys.seleccionarVideo(v.getId()); + boolean vacio = true; + for (DtComentario c : sys.listarComentariosDeVideo()){ + vacio = false; + tab(tab+2); tab(c.getNivelSubComentario()); System.out.println(c.toString()); + } + if (vacio){ + tab(tab+2); System.out.println("No hay comentarios"); + } + System.out.println(""); } + System.out.println(""); tab(tab+1); System.out.println("-- Listas --"); for (DtListaDeReproduccion l : sys.listarListasDeReproduccionDeUsuario(u.getNickname())) { diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/AltaListaDeReproduccion.form b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/AltaListaDeReproduccion.form new file mode 100644 index 0000000000000000000000000000000000000000..05d9eba105139c999f2ca1b719a9923c99542e22 --- /dev/null +++ b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/AltaListaDeReproduccion.form @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> + <Properties> + <Property name="defaultCloseOperation" type="int" value="2"/> + </Properties> + <SyntheticProperties> + <SyntheticProperty name="formSizePolicy" type="int" value="1"/> + <SyntheticProperty name="generateCenter" type="boolean" value="false"/> + </SyntheticProperties> + <AuxValues> + <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> + <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> + <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> + <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> + <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> + </AuxValues> + + <Layout> + <DimensionLayout dim="0"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="400" max="32767" attributes="0"/> + </Group> + </DimensionLayout> + <DimensionLayout dim="1"> + <Group type="103" groupAlignment="0" attributes="0"> + <EmptySpace min="0" pref="300" max="32767" attributes="0"/> + </Group> + </DimensionLayout> + </Layout> +</Form> diff --git a/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/AltaListaDeReproduccion.java b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/AltaListaDeReproduccion.java new file mode 100644 index 0000000000000000000000000000000000000000..accf9bc2c8d4bc4ba7cfba03ad5a4e807824fff2 --- /dev/null +++ b/UyTube_aplicacion/src/Presentacion/ListaDeReproduccion/AltaListaDeReproduccion.java @@ -0,0 +1,49 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package Presentacion.ListaDeReproduccion; + +/** + * + * @author Juan + */ +public class AltaListaDeReproduccion extends javax.swing.JDialog { + + /** + * Creates new form AltaListaDeReproduccion + */ + public AltaListaDeReproduccion(java.awt.Frame parent, boolean modal) { + super(parent, modal); + initComponents(); + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + @SuppressWarnings("unchecked") + // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents + private void initComponents() { + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 400, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 300, Short.MAX_VALUE) + ); + + pack(); + }// </editor-fold>//GEN-END:initComponents + + // Variables declaration - do not modify//GEN-BEGIN:variables + // End of variables declaration//GEN-END:variables +} diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.form b/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.form index aeb66ebe695cb6c961f513e94039eef625cdc060..c285138c25cb018026bf113a9ce336375824cfcd 100644 --- a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.form +++ b/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.form @@ -136,7 +136,7 @@ </Component> <Component class="javax.swing.JLabel" name="jLabel22"> <Properties> - <Property name="text" type="java.lang.String" value="Fecha n:"/> + <Property name="text" type="java.lang.String" value="Nacimiento: "/> </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> @@ -184,7 +184,7 @@ <Component class="javax.swing.JLabel" name="lbFechaN"> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="290" y="190" width="210" height="20"/> + <AbsoluteConstraints x="300" y="190" width="200" height="20"/> </Constraint> </Constraints> </Component> @@ -194,7 +194,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="290" y="160" width="260" height="20"/> + <AbsoluteConstraints x="300" y="160" width="200" height="20"/> </Constraint> </Constraints> </Component> @@ -204,7 +204,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="290" y="130" width="260" height="-1"/> + <AbsoluteConstraints x="300" y="130" width="200" height="-1"/> </Constraint> </Constraints> </Component> @@ -214,24 +214,24 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="290" y="100" width="260" height="-1"/> + <AbsoluteConstraints x="300" y="100" width="200" height="-1"/> </Constraint> </Constraints> </Component> - <Component class="javax.swing.JLabel" name="lbUsuario"> + <Component class="javax.swing.JLabel" name="lbCantSeguidores"> <Properties> <Property name="text" type="java.lang.String" value=" "/> </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="290" y="70" width="260" height="-1"/> + <AbsoluteConstraints x="630" y="20" width="100" height="-1"/> </Constraint> </Constraints> </Component> <Component class="javax.swing.JSeparator" name="jSeparator3"> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="0" y="340" width="550" height="10"/> + <AbsoluteConstraints x="0" y="340" width="530" height="10"/> </Constraint> </Constraints> </Component> @@ -272,7 +272,9 @@ <SubComponents> <Component class="javax.swing.JTextArea" name="txtDescripcion"> <Properties> + <Property name="editable" type="boolean" value="false"/> <Property name="columns" type="int" value="20"/> + <Property name="lineWrap" type="boolean" value="true"/> <Property name="rows" type="int" value="5"/> </Properties> </Component> @@ -284,7 +286,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="550" y="0" width="10" height="560"/> + <AbsoluteConstraints x="530" y="0" width="10" height="560"/> </Constraint> </Constraints> </Component> @@ -297,7 +299,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="380" y="450" width="120" height="40"/> + <AbsoluteConstraints x="370" y="450" width="120" height="40"/> </Constraint> </Constraints> </Component> @@ -307,14 +309,14 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="80" y="360" width="110" height="-1"/> + <AbsoluteConstraints x="90" y="360" width="110" height="-1"/> </Constraint> </Constraints> </Component> <Component class="javax.swing.JSeparator" name="jSeparator5"> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="550" y="230" width="440" height="10"/> + <AbsoluteConstraints x="530" y="230" width="460" height="10"/> </Constraint> </Constraints> </Component> @@ -327,7 +329,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="590" y="20" width="-1" height="-1"/> + <AbsoluteConstraints x="550" y="20" width="-1" height="-1"/> </Constraint> </Constraints> </Component> @@ -340,7 +342,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="790" y="20" width="-1" height="-1"/> + <AbsoluteConstraints x="770" y="20" width="-1" height="-1"/> </Constraint> </Constraints> </Component> @@ -350,7 +352,7 @@ </AuxValues> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="790" y="50" width="160" height="150"/> + <AbsoluteConstraints x="770" y="50" width="180" height="150"/> </Constraint> </Constraints> @@ -374,7 +376,7 @@ </AuxValues> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="590" y="50" width="160" height="150"/> + <AbsoluteConstraints x="550" y="50" width="190" height="150"/> </Constraint> </Constraints> @@ -404,7 +406,7 @@ </Events> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="593" y="480" width="360" height="50"/> + <AbsoluteConstraints x="553" y="480" width="410" height="50"/> </Constraint> </Constraints> </Component> @@ -417,7 +419,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="590" y="240" width="-1" height="-1"/> + <AbsoluteConstraints x="550" y="240" width="-1" height="-1"/> </Constraint> </Constraints> </Component> @@ -430,7 +432,7 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="790" y="240" width="-1" height="-1"/> + <AbsoluteConstraints x="770" y="240" width="-1" height="-1"/> </Constraint> </Constraints> </Component> @@ -440,7 +442,7 @@ </AuxValues> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="590" y="270" width="160" height="190"/> + <AbsoluteConstraints x="550" y="270" width="200" height="190"/> </Constraint> </Constraints> @@ -464,7 +466,7 @@ </AuxValues> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="790" y="272" width="160" height="190"/> + <AbsoluteConstraints x="770" y="272" width="190" height="190"/> </Constraint> </Constraints> @@ -492,7 +494,27 @@ </Properties> <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> - <AbsoluteConstraints x="350" y="410" width="170" height="110"/> + <AbsoluteConstraints x="350" y="410" width="160" height="110"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbNickName"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="300" y="70" width="200" height="-1"/> + </Constraint> + </Constraints> + </Component> + <Component class="javax.swing.JLabel" name="lbCantSeguidos"> + <Properties> + <Property name="text" type="java.lang.String" value=" "/> + </Properties> + <Constraints> + <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> + <AbsoluteConstraints x="840" y="20" width="100" height="-1"/> </Constraint> </Constraints> </Component> diff --git a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.java b/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.java index 689cfe7660f6dc4fc522e75f02a63f259cd9c64c..c931ce106bc7d9471cb9577e9611bc306df653d0 100644 --- a/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.java +++ b/UyTube_aplicacion/src/Presentacion/Usuario/frmConsultaUsuario.java @@ -1,12 +1,37 @@ package Presentacion.Usuario; + +import Logica.DataType.DtCanal; +import Logica.DataType.DtListaDeReproduccion; +import Logica.DataType.DtUsuario; +import Logica.DataType.DtVideo; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import javax.swing.DefaultListModel; +import javax.swing.JOptionPane; + public class frmConsultaUsuario extends javax.swing.JDialog { + + IAdmin sys; public frmConsultaUsuario(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); this.setLocationRelativeTo(null); + + try { + // obtiene la instancia de sistema + sys = Fabrica.getInstancia().getIAdmin(); + + // lista usuarios en el JList + listarUsuarios(sys.listarUsuarios()); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } } - + @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { @@ -27,7 +52,7 @@ public class frmConsultaUsuario extends javax.swing.JDialog { lbEmail = new javax.swing.JLabel(); lbApellido = new javax.swing.JLabel(); lbNombre = new javax.swing.JLabel(); - lbUsuario = new javax.swing.JLabel(); + lbCantSeguidores = new javax.swing.JLabel(); jSeparator3 = new javax.swing.JSeparator(); jLabel30 = new javax.swing.JLabel(); jLabel32 = new javax.swing.JLabel(); @@ -51,6 +76,8 @@ public class frmConsultaUsuario extends javax.swing.JDialog { jScrollPane21 = new javax.swing.JScrollPane(); lstListaReproduccion = new javax.swing.JList<>(); jLabel51 = new javax.swing.JLabel(); + lbNickName = new javax.swing.JLabel(); + lbCantSeguidos = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Consulta usuario"); @@ -82,7 +109,7 @@ public class frmConsultaUsuario extends javax.swing.JDialog { jLabel21.setText("Email:"); jPanel6.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 160, -1, -1)); - jLabel22.setText("Fecha n:"); + jLabel22.setText("Nacimiento: "); jPanel6.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(230, 190, -1, -1)); jLabel23.setText("Imagen:"); @@ -93,20 +120,20 @@ public class frmConsultaUsuario extends javax.swing.JDialog { jPanel1.add(lstImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 100, 90)); jPanel6.add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 230, 100, 90)); - jPanel6.add(lbFechaN, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 190, 210, 20)); + jPanel6.add(lbFechaN, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 190, 200, 20)); lbEmail.setText(" "); - jPanel6.add(lbEmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 160, 260, 20)); + jPanel6.add(lbEmail, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 160, 200, 20)); lbApellido.setText(" "); - jPanel6.add(lbApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 130, 260, -1)); + jPanel6.add(lbApellido, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 130, 200, -1)); lbNombre.setText(" "); - jPanel6.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 100, 260, -1)); + jPanel6.add(lbNombre, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 100, 200, -1)); - lbUsuario.setText(" "); - jPanel6.add(lbUsuario, new org.netbeans.lib.awtextra.AbsoluteConstraints(290, 70, 260, -1)); - jPanel6.add(jSeparator3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 340, 550, 10)); + lbCantSeguidores.setText(" "); + jPanel6.add(lbCantSeguidores, new org.netbeans.lib.awtextra.AbsoluteConstraints(630, 20, 100, -1)); + jPanel6.add(jSeparator3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 340, 530, 10)); jLabel30.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel30.setText("Canal:"); @@ -115,38 +142,40 @@ public class frmConsultaUsuario extends javax.swing.JDialog { jLabel32.setText("Descripcion:"); jPanel6.add(jLabel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 390, -1, -1)); + txtDescripcion.setEditable(false); txtDescripcion.setColumns(20); + txtDescripcion.setLineWrap(true); txtDescripcion.setRows(5); jScrollPane5.setViewportView(txtDescripcion); jPanel6.add(jScrollPane5, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 420, 290, 100)); jSeparator4.setOrientation(javax.swing.SwingConstants.VERTICAL); - jPanel6.add(jSeparator4, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 0, 10, 560)); + jPanel6.add(jSeparator4, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 0, 10, 560)); lbPrivacidad.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N lbPrivacidad.setText(" "); - jPanel6.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(380, 450, 120, 40)); + jPanel6.add(lbPrivacidad, new org.netbeans.lib.awtextra.AbsoluteConstraints(370, 450, 120, 40)); lbNombreCanal.setText(" "); - jPanel6.add(lbNombreCanal, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 360, 110, -1)); - jPanel6.add(jSeparator5, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 230, 440, 10)); + jPanel6.add(lbNombreCanal, new org.netbeans.lib.awtextra.AbsoluteConstraints(90, 360, 110, -1)); + jPanel6.add(jSeparator5, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 230, 460, 10)); jLabel39.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel39.setText("Segidores:"); - jPanel6.add(jLabel39, new org.netbeans.lib.awtextra.AbsoluteConstraints(590, 20, -1, -1)); + jPanel6.add(jLabel39, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 20, -1, -1)); jLabel40.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel40.setText("Segidos:"); - jPanel6.add(jLabel40, new org.netbeans.lib.awtextra.AbsoluteConstraints(790, 20, -1, -1)); + jPanel6.add(jLabel40, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 20, -1, -1)); jScrollPane8.setViewportView(lstSeguidos); - jPanel6.add(jScrollPane8, new org.netbeans.lib.awtextra.AbsoluteConstraints(790, 50, 160, 150)); + jPanel6.add(jScrollPane8, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 50, 180, 150)); jScrollPane9.setViewportView(lstSeguidores); - jPanel6.add(jScrollPane9, new org.netbeans.lib.awtextra.AbsoluteConstraints(590, 50, 160, 150)); + jPanel6.add(jScrollPane9, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 50, 190, 150)); btnAceptar.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N btnAceptar.setText("Aceptar"); @@ -155,26 +184,32 @@ public class frmConsultaUsuario extends javax.swing.JDialog { btnAceptarActionPerformed(evt); } }); - jPanel6.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(593, 480, 360, 50)); + jPanel6.add(btnAceptar, new org.netbeans.lib.awtextra.AbsoluteConstraints(553, 480, 410, 50)); jLabel79.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel79.setText("Videos:"); - jPanel6.add(jLabel79, new org.netbeans.lib.awtextra.AbsoluteConstraints(590, 240, -1, -1)); + jPanel6.add(jLabel79, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 240, -1, -1)); jLabel80.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N jLabel80.setText("Listas de Reproduccion:"); - jPanel6.add(jLabel80, new org.netbeans.lib.awtextra.AbsoluteConstraints(790, 240, -1, -1)); + jPanel6.add(jLabel80, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 240, -1, -1)); jScrollPane20.setViewportView(lstVideos); - jPanel6.add(jScrollPane20, new org.netbeans.lib.awtextra.AbsoluteConstraints(590, 270, 160, 190)); + jPanel6.add(jScrollPane20, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 270, 200, 190)); jScrollPane21.setViewportView(lstListaReproduccion); - jPanel6.add(jScrollPane21, new org.netbeans.lib.awtextra.AbsoluteConstraints(790, 272, 160, 190)); + jPanel6.add(jScrollPane21, new org.netbeans.lib.awtextra.AbsoluteConstraints(770, 272, 190, 190)); jLabel51.setBorder(javax.swing.BorderFactory.createTitledBorder("Privacidad")); - jPanel6.add(jLabel51, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 410, 170, 110)); + jPanel6.add(jLabel51, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 410, 160, 110)); + + lbNickName.setText(" "); + jPanel6.add(lbNickName, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 70, 200, -1)); + + lbCantSeguidos.setText(" "); + jPanel6.add(lbCantSeguidos, new org.netbeans.lib.awtextra.AbsoluteConstraints(840, 20, 100, -1)); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); @@ -201,14 +236,94 @@ public class frmConsultaUsuario extends javax.swing.JDialog { }// </editor-fold>//GEN-END:initComponents private void lstUsuariosValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_lstUsuariosValueChanged - + try { + String nick = lstUsuarios.getSelectedValue(); + DtUsuario dtu = sys.seleccionarUsuario(nick); + cargarLabelsConDatosDelUsuario(dtu); + DtCanal dtc = sys.obtenerCanalDeUsuario(); + cargarLabelsConDatosDelCanal(dtc); + + listarVideos(sys.listarVideosDeUsuario()); + listarListassRep(sys.listarListasDeReproduccionDeUsuario(nick)); + listarUsuariosSeguidores(sys.listarUsuarioSeguidores()); + listarUsuariosSeguidos(sys.listarUsuarioSeguidos()); + + sys.liberarMemoriaUsuario(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + + } }//GEN-LAST:event_lstUsuariosValueChanged private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed - + try { + sys.liberarMemoriaUsuario(); + dispose(); + } catch (Exception e) { + JOptionPane.showMessageDialog(null, "Ha ocurrido un error", "Error", JOptionPane.ERROR_MESSAGE); + } }//GEN-LAST:event_btnAceptarActionPerformed - - + + /////////////////////////////////////////////////////////////////////////////////////////// + private void listarUsuarios(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstUsuarios.setModel(modelo); + + } + private void listarVideos(ArrayList<DtVideo> ListaVideos){ + DefaultListModel modelo = new DefaultListModel(); + for (DtVideo it : ListaVideos) { + modelo.addElement(it.getNombre()); + } + lstVideos.setModel(modelo); + } + private void listarListassRep(ArrayList<DtListaDeReproduccion> listaListasRep){ + DefaultListModel modelo = new DefaultListModel(); + for (DtListaDeReproduccion it : listaListasRep) { + modelo.addElement(it.getNombre()); + } + lstListaReproduccion.setModel(modelo); + } + + private void listarUsuariosSeguidos(ArrayList<DtUsuario> ListaUsuarios){ + lbCantSeguidos.setText(String.valueOf(ListaUsuarios.size())); + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstSeguidos.setModel(modelo); + } + private void listarUsuariosSeguidores(ArrayList<DtUsuario> ListaUsuarios){ + DefaultListModel modelo = new DefaultListModel(); + for (DtUsuario it : ListaUsuarios) { + modelo.addElement(it.getNickname()); + } + lstSeguidores.setModel(modelo); + } + private void cargarLabelsConDatosDelUsuario(DtUsuario u){ + lbCantSeguidores.setText(u.getNickname()); + lbNombre.setText(u.getNombre()); + lbApellido.setText(u.getApellido()); + lbEmail.setText(u.getCorreo()); + lbFechaN.setText(new SimpleDateFormat("dd-MM-yyyy").format(u.getFechaNacimiento())); + lbCantSeguidores.setText(String.valueOf(u.getCantSeguidores())); + } + private void cargarLabelsConDatosDelCanal(DtCanal c){ + lbNombreCanal.setText(c.getNombre()); + txtDescripcion.setText(c.getDescripcion()); + if (c.getPrivacidad() == Privacidad.PUBLICO){ + lbPrivacidad.setText("Publico"); + }else{ + lbPrivacidad.setText("Privado"); + } + } + /////////////////////////////////////////////////////////////////////////////////////////// + + + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnAceptar; private javax.swing.JLabel jLabel17; @@ -237,12 +352,14 @@ public class frmConsultaUsuario extends javax.swing.JDialog { private javax.swing.JSeparator jSeparator4; private javax.swing.JSeparator jSeparator5; private javax.swing.JLabel lbApellido; + private javax.swing.JLabel lbCantSeguidores; + private javax.swing.JLabel lbCantSeguidos; private javax.swing.JLabel lbEmail; private javax.swing.JLabel lbFechaN; + private javax.swing.JLabel lbNickName; private javax.swing.JLabel lbNombre; private javax.swing.JLabel lbNombreCanal; private javax.swing.JLabel lbPrivacidad; - private javax.swing.JLabel lbUsuario; private javax.swing.JLabel lstImagen; private javax.swing.JList<String> lstListaReproduccion; private javax.swing.JList<String> lstSeguidores; diff --git a/UyTube_aplicacion/src/Presentacion/frmInicioSesion.form b/UyTube_aplicacion/src/Presentacion/frmInicioSesion.form index 49d7d604bf2a918c223bcf15ded1c5fbba057d12..9a8462147159489b719ec5d351cdfbd2c9b39286 100644 --- a/UyTube_aplicacion/src/Presentacion/frmInicioSesion.form +++ b/UyTube_aplicacion/src/Presentacion/frmInicioSesion.form @@ -61,6 +61,13 @@ <Font name="Tahoma" size="14" style="0"/> </Property> </Properties> +<<<<<<< HEAD +======= + <Events> + <EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNroEmpleadoKeyReleased"/> + <EventHandler event="keyTyped" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtNroEmpleadoKeyTyped"/> + </Events> +>>>>>>> JuanRama <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> <AbsoluteConstraints x="270" y="30" width="160" height="30"/> @@ -129,6 +136,12 @@ <Font name="Tahoma" size="14" style="0"/> </Property> </Properties> +<<<<<<< HEAD +======= + <Events> + <EventHandler event="keyReleased" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="txtContraseniaKeyReleased"/> + </Events> +>>>>>>> JuanRama <Constraints> <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription"> <AbsoluteConstraints x="270" y="80" width="160" height="30"/> diff --git a/UyTube_aplicacion/src/Presentacion/frmInicioSesion.java b/UyTube_aplicacion/src/Presentacion/frmInicioSesion.java index e7226decf44b335df0d5630594822e075b853e19..877397a767aa0216eed4f8a9d573a3b45256533b 100644 --- a/UyTube_aplicacion/src/Presentacion/frmInicioSesion.java +++ b/UyTube_aplicacion/src/Presentacion/frmInicioSesion.java @@ -1,22 +1,42 @@ package Presentacion; +import Logica.Fabrica; +import Logica.Interfaces.IAdmin; import java.awt.Image; import javax.swing.ImageIcon; - +import javax.swing.JOptionPane; public class frmInicioSesion extends javax.swing.JDialog { - - /** Creates new form frmInicioSesion */ + + // almacena el resultado el inicio de sesion + boolean resultado; + IAdmin sys; + public frmInicioSesion(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); this.setLocationRelativeTo(null); + txtNroEmpleado.setText(""); + txtContrasenia.setText(""); + + // Coloca la imagen del login lbImagen.setText(null); Image img = new ImageIcon("Imagenes/ukp.png").getImage(); ImageIcon img2 = new ImageIcon(img.getScaledInstance(lbImagen.getWidth(), lbImagen.getHeight(), Image.SCALE_SMOOTH)); lbImagen.setIcon(img2); + // pide la instancia de Fabrica + + Fabrica f = Fabrica.getInstancia(); + // pide la instancia del sistema + sys = f.getIAdmin(); + + // desactiva el boton de Iniciar + btnIniciar.setEnabled(false); + + // inicializa la variable en falso + resultado = false; } /** This method is called from within the constructor to @@ -46,6 +66,14 @@ public class frmInicioSesion extends javax.swing.JDialog { jPanel4.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(160, 30, -1, -1)); txtNroEmpleado.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + txtNroEmpleado.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyReleased(java.awt.event.KeyEvent evt) { + txtNroEmpleadoKeyReleased(evt); + } + public void keyTyped(java.awt.event.KeyEvent evt) { + txtNroEmpleadoKeyTyped(evt); + } + }); jPanel4.add(txtNroEmpleado, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 30, 160, 30)); jLabel5.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N @@ -75,6 +103,11 @@ public class frmInicioSesion extends javax.swing.JDialog { jPanel4.add(lbImagen, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 20, 110, 100)); txtContrasenia.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + txtContrasenia.addKeyListener(new java.awt.event.KeyAdapter() { + public void keyReleased(java.awt.event.KeyEvent evt) { + txtContraseniaKeyReleased(evt); + } + }); jPanel4.add(txtContrasenia, new org.netbeans.lib.awtextra.AbsoluteConstraints(270, 80, 160, 30)); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); @@ -95,12 +128,56 @@ public class frmInicioSesion extends javax.swing.JDialog { private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed // insicar secion->cancelar + this.resultado = false; + dispose(); + }//GEN-LAST:event_btnCancelarActionPerformed private void btnIniciarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnIniciarActionPerformed //Sesion->iniciarSecion->iniciar + + int nro = Integer.parseInt(txtNroEmpleado.getText()); + String contrasenia = txtContrasenia.getText(); + this.resultado = sys.iniciarSesionAdministrador(nro, contrasenia); + + if (resultado){ + dispose(); + }else{ + JOptionPane.showMessageDialog(null, "El número de empleado o la contraseña son incorrectos", "Error al iniciar sesión", JOptionPane.ERROR_MESSAGE); + txtNroEmpleado.setText(""); + txtContrasenia.setText(""); + } }//GEN-LAST:event_btnIniciarActionPerformed + private void txtNroEmpleadoKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNroEmpleadoKeyTyped + if (!Character.isDigit(evt.getKeyChar())) { + getToolkit().beep(); + evt.consume(); + } + }//GEN-LAST:event_txtNroEmpleadoKeyTyped + + private void txtNroEmpleadoKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtNroEmpleadoKeyReleased + habilitarBotonIniciar(); + }//GEN-LAST:event_txtNroEmpleadoKeyReleased + + private void txtContraseniaKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtContraseniaKeyReleased + habilitarBotonIniciar(); + }//GEN-LAST:event_txtContraseniaKeyReleased + + private void habilitarBotonIniciar(){ + // Hacer OR sin short circuit + if (txtNroEmpleado.getText().isEmpty() || txtContrasenia.getText().isEmpty()) { + btnIniciar.setEnabled(false); + } else { + btnIniciar.setEnabled(true); + } + } + + + public boolean seInicioLaSesion(){ + return resultado; + } + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnCancelar; private javax.swing.JButton btnIniciar; diff --git a/UyTube_aplicacion/src/Presentacion/frmPrincipal.java b/UyTube_aplicacion/src/Presentacion/frmPrincipal.java index c6fd7b93f67929afdab78b57adc4bcfa74cc96a6..bdf484d2eab79a8453aa6785c087a7b6ee2a25bb 100644 --- a/UyTube_aplicacion/src/Presentacion/frmPrincipal.java +++ b/UyTube_aplicacion/src/Presentacion/frmPrincipal.java @@ -9,22 +9,28 @@ import Presentacion.Video.*; import java.awt.Image; import java.awt.Toolkit; import javax.swing.ImageIcon; - - + public class frmPrincipal extends javax.swing.JFrame { + private boolean sesionIniciada; + public frmPrincipal() { initComponents(); - - pnlFondo.setSize(this.getSize()); - + // centra la ventana this.setLocationRelativeTo(null); + // carga la imagen de fondo this.lbFondo.setText(null); Image img3 = new ImageIcon("Imagenes/des.jpeg").getImage(); ImageIcon img4 = new ImageIcon(img3.getScaledInstance(lbFondo.getWidth(), lbFondo.getHeight(), Image.SCALE_SMOOTH)); lbFondo.setIcon(img4); + //####### Descomentar la siguiente linea ###### // + //activarBarraDeMenu(false); + sesionIniciada = false; + mitCerrarSesion.setEnabled(false); + + // Carga los datos de prueba DatosDePrueba.cargarDatos(); } @@ -336,12 +342,27 @@ public class frmPrincipal extends javax.swing.JFrame { private void mitIniciarSesionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitIniciarSesionActionPerformed //Sesion->iniciarSecion - new frmInicioSesion(this, true).setVisible(true); + + frmInicioSesion login = new frmInicioSesion(this, true); + login.setVisible(true); + sesionIniciada = login.seInicioLaSesion(); + + if (sesionIniciada){ + activarBarraDeMenu(true); + mitCerrarSesion.setEnabled(true); + mitIniciarSesion.setEnabled(false); + }else{ + activarBarraDeMenu(false); + } }//GEN-LAST:event_mitIniciarSesionActionPerformed private void mitCerrarSesionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitCerrarSesionActionPerformed //Sesion->cerrar secion - + sesionIniciada = false; + mitCerrarSesion.setEnabled(false); + mitIniciarSesion.setEnabled(true); + activarBarraDeMenu(false); + }//GEN-LAST:event_mitCerrarSesionActionPerformed private void mitNuevoUsuarioActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mitNuevoUsuarioActionPerformed @@ -461,6 +482,14 @@ public class frmPrincipal extends javax.swing.JFrame { // TODO add your handling code here: }//GEN-LAST:event_formPropertyChange + + private void activarBarraDeMenu(boolean b){ + menuUsuario.setEnabled(b); + menuListaDeReproduccion.setEnabled(b); + menuVideo.setEnabled(b); + menuCategoria.setEnabled(b); + } + /** * @param args the command line arguments */