User Tag List

Página 5 de 17 PrimerPrimer 12345678915 ... ÚltimoÚltimo
Resultados 61 al 75 de 245

Tema: Ayuda con problemilla básico de Arrays JAVA (SPOILER: Soy muy malo)

  1. #61

    Fecha de ingreso
    Feb 2005
    Ubicación
    Malaga
    Mensajes
    5,310
    Mencionado
    77 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    2,757
    Agradecer Thanks Received 
    1,024
    Thanked in
    Agradecido 599 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    5
    Cita Iniciado por selecter25 Ver mensaje
    Recuerdo ya que en SMR (2018) estas cosas pasaban mucha factura. En la asignatura de Aplicaciones Ofimáticas, estábamos obligados a usar Libreoffice. Pues bien, cada tema incluía videotutoriales con versiones totalmente diferentes de este, algunas de más de 5 años de antigüedad. El resultado era siempre el mismo: Costaba más localizar dónde estaba "X" opción en la versión actual (si es que no se había suprimido o modificado) que hacer el ejercicio en sí. A veces el caos era tal, que el profesor se veía obligado a rehacer el ejercicio, muchas veces modificando o suprimiendo apartados.
    La Junta de Andalucía trabaja con LibreOffice/OpenOffice de forma oficial, por lo que el problema que comentas se da también en esta comunidad.


    Cita Iniciado por selecter25 Ver mensaje
    Lo mismo en Montaje y Mantenimiento de Equipos, piezas de museo (esto es más entendible, educación pública). Recuerdo que la gente más inexperta analizaba las placas y anotaba las ranuras ISA y muchos compañeros me preguntaban: "Esto qué es? Para qué se usa ahora" Yo no sabía si pincharles el globo o no. Lo grave venía cuando abrías los temarios y veías que se estaba estudiando hardware y estándares de 2008 como los más actuales.
    Por mi experiencia te diré que eso no va a cambiar a corto plazo. Al menos en la pública de Andalucía.
    Lo más moderno que he visto en esas clases han sido placas de Core-i de 1º generación. ISA la verdad que poquitos. Mucho Core2Duo y Pentium 4, eso sí.
    El problema es que no dan presupuesto para gastarlo en piezas y hay que confiar en las donaciones de profesores o alumnos.

    En el instituto privado en el que estoy este año han re-comprado PC usados de oficinas con i3-i5 de 7a generación y han llenado el taller. Antes estaban igual, tirando de cosas que los profesores frikis del cacharreo nos llevábamos a clase.

  2. El siguiente usuario agradece a Karkayu este mensaje:

    selecter25 (15/04/2022)

  3. #62

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Hasta donde yo sé, a los funcionarios se les suele dar un plus por productividad, pero el caso que yo conozco se lo dan al equipo de la provincia que más carnets produce.
    Y algo de eso también hay en la enseñanza, pero ¿cómo mides la productividad del profesorado? ¿examinas el temario? ¿las horas de clase y tutorías que dan? ¿el tiempo que dedican en casa a corregir ejercicios y exámenes, o a preparar la clase del día siguiente? No, lo hacen por las notas de los alumnos: a mejores notas, mejores recompensas, y he visto en muchos casos cómo han rebajado la dificultad de algunas asignaturas "complicadas" para llegar al mínimo. Pero supongo que tiene que ver más con otra cosa que con medir el rendimiento.

    Pero que los profesores no se adapten a nuevas tecnologías no es algo nuevo. Conozco muchísimos profesores que no se meten de cabeza con un programa nuevo hasta que no les queda más remedio (o sea, que les obligan), y luego pasa lo que pasa, que al no haber ido usando la herramienta durante el "tiempo de adaptación", todo son dudas "de última hora".
    Tampoco soy el más indicado para criticar esta forma de pensar, al fin y al cabo, yo también tiro de SW obsoleto y nunca uso la última versión "por si los bugs" Pero hay gente que, si por ella fuera, seguirían mandando notas a los padres escritas a mano.

    También es cierto que hay un problema de adopción tecnológica: hay padres/alumnos que no se pueden permitir el acceso a determinados dispositivos, léase un portátil con potencia suficiente, un móvil que ejecute la última versión de la APP, o acceso a la red (yo, cuando estudiaba en Málaga: había pisos que no tenían ni línea telefónica, o caseros que se negaban a contratar un ISP... Hubo cursos enteros que dependía enteramente de los ordenadores de la biblioteca, y cuanto más se informatizaba la escuela, a menos contenido tenía yo acceso). Luego hay centros que no tienen dinero para ello: mi instituto puso un ordenador en la biblioteca, y sólo estaba libre cuando algún alumno le metía un virus (el 85% del tiempo)... o aquel año que dijeron que iban a poner un ordenador por alumno en los talleres para hacer simulación de circuitos electrónicos... y pusieron un único ordenador entre los 8 talleres, y la única práctica que lo usaba se tenía que hacer por turnos (una práctica muy sencilla de puertas lógicas en Step5, que sólo completamos los tres alumnos que nos dio tiempo a llegar a ella).

    El año que dejé de ir a la facultad (terminé el año siguiente en casa con el TFC) acababan de cambiar los entrenadores de 68K por otros que ya se programaban en C, lo cual era una lástima porque era la única asignatura que se usaba ASM de forma práctica (y te comía todo el cuatrimestre entero, porque era ASM y un circuito conectado a sendos puertos GPIO de 32 bits, una pasada ). Pero los alumnos de primer año seguían teniendo ordenadores 486 (y algún Pentium suelto) en el laboratorio para hacer simulaciones y eso sí que era un número: el editor de circuitos tenía una versión, y el simulador otra diferente, y había que hacer una cabriola para poder usar el fichero del primero en el del segundo, y luego imprimir pantalla para copiar los resultados del osciloscopio en el paint y guardarlos en BMP en disquetes de 3 1/2 (yo tuve que hacerlo en 2004, pero alguno tuvo que hacerlo en 2007).
    El resto de laboratorios ya tenían equipos más modernos, pero no dejaba de ser un contraste interesante, cuando en el mismo laboratorio tenían osciloscopios con medidores en pantalla, fuentes de alimentación de 50V con precisión de mV, generadores de onda con protección de cortocircuito (al menos, comparados con los equipos de la FP, eran un lujo de equipos... pero no tenían cables, los tenías que traer tú... en la FP al menos dedicabas la primera clase a arreglar los cables que te dejaba el alumno del año anterior, y los materiales los pagaba el centro).



    Respecto a LibreOffice, yo estuve un tiempo trabajando con OpenOffice... pero a nivel de XML, porque teníamos que hacer verificación de documentos. Creo que se adoptó ese formato porque era fácil de leer, no dependía de librerías licenciadas de formatos privativos, etc. Además, que se ahorraban tener que comprar licencias. Incluso se hablaba de cambiar todos los equipos a Linux. De hecho, estuve testeando una de las primeras versiones de Guadalinex (creo que era la 3.algo, allá por... ¿2012?), una versión muy rara que venía en dos versiones: la de administrador y la de terminal... se suponía que la de administrador podía instalar aplicaciones y drivers en las terminales, pero aquello no funcionó hasta que me pasaron la segunda o tercera versión... una semana después de empezar las pruebas (como novato que era, me llevé yo las culpas de que aquello no funcionara, claro... Si lo hubiera sabido hubiera puesto un negativo en el informe y el marrón se lo llevaban los desarrolladores, pero como soy tan cabezota y a mi un ordenador no me decía que no funcionaba... :P).

    Bueno, corto el rollo que me extiendo demasiado
    ...a menos que no os importe
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  4. El siguiente usuario agradece a Drumpi este mensaje:

    selecter25 (23/05/2022)

  5. #63

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Vuelve míster patoso, esta vez problemas gordos. No comenté nada, pero en la anterior práctica (Java Swing) al profesor le gustó mi propuesta de hacer una calculadora, con máquina de estados, tropecientos elementos y perrerías varias. Contra todo pronóstico salió bien.

    Pero no todo va a ser gloria. Ahora llega la última práctica antes del examen, y se me ha hecho bola. Le he dado miles de vueltas, he pagado a una amiga con Ingeniería y experiencia de más de 25 años para que me oriente, y no ha sabido ayudarme, se ha limitado a ponerse nerviosa y mandarme enlaces de stackoverflow que nada tenían que ver con el caso . Quedamos 4 personas en el ciclo formativo, estoy bastante agobiado, la gente cae como moscas. El problema es que si no entrego la práctica antes de que acabe el día 25, pierdo el derecho a examen, aunque tenga aprobadas las dos primeras evaluaciones con 9 y 10, y aunque el resto de prácticas estén perfectas. No encuentro a nadie que pueda hacer o explicarme el ejercicio, ni pagando, es muy triste.

    No he recurrido a la sabiduría de los gurús geperos antes porque me siento un pesado y un inútil a partes iguales, pero si alguien me echa una mano y acabo la maldita práctica, le compensaré con unas birras virtuales, un juego, una almohada waifu, le pago sus horas como profesional o lo que sea.

    La práctica es una app que sigue el modelo MVC. Básicamente se conecta a una base de datos local (en Xampp) y muestra las diferentes tablas de esta. El funcionamiento es este:



    - Las vistas las tengo hechas (de aquella manera).
    - Entiendo que el siguiente paso es generar el modelo con los métodos para conectar, desconectar, sentencias SQL y luego los controladores.

    - El problema principal es que no sé manejar los listeners desde sus respectivos controladores, sé manejarlos desde la propia vista, sé poner las fuentes en escucha para el controlador, pero no sé manejarlos desde estos. He intentado ya tropecientasmil cosas y estoy frito.

    Esto es todo lo que el profesor me ha proporcionado para hacer el ejercicio (ejercicio resuelto "similar", es el ejercicio 4):

    https://drive.google.com/file/d/1Tr4...ew?usp=sharing

    Si alguien quiere echarme una mano y consigo acabarla, le pago sus horas religiosa y generosamente. Os dejo mi basura, para que veáis lo que llevo hecho:

    https://github.com/Suarking/BDDApp

    Si por lo que sea no tenéis tiempo o ganas, y conocéis a alguien que sepa manejar el tema y que pueda echarme un hantebraso previo pago, mandadme privado.

  6. #64

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    ¿Donde tienes problemas al hacer que funcione con un interfaz gráfico en vez de algo por linea de comandos?

    Los listeners supongo que serán un observador que se llamara cuando se hace algo, o sea le pasas una función para que el código llame cuando pase algo (botón pulsado por ejemplo).

    Yo suelo hacer la parte del interfaz "tonta", o sea le paso parámetros tipo string, int o float y esta los muestra, en caso de devolver algo tambien se devuelven usando esos tipos, así no hay dependencias entre la aplicación y la parte gráfica (no le pasas estructuras dependientes de la aplicación).

    ¿Con que podría ejecutar el codigo? ¿Eclipse + Java? Es que soy de C++ XD
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  7. #65

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    ¿Donde tienes problemas al hacer que funcione con un interfaz gráfico en vez de algo por linea de comandos?

    Los listeners supongo que serán un observador que se llamara cuando se hace algo, o sea le pasas una función para que el código llame cuando pase algo (botón pulsado por ejemplo).

    Yo suelo hacer la parte del interfaz "tonta", o sea le paso parámetros tipo string, int o float y esta los muestra, en caso de devolver algo tambien se devuelven usando esos tipos, así no hay dependencias entre la aplicación y la parte gráfica (no le pasas estructuras dependientes de la aplicación).

    ¿Con que podría ejecutar el codigo? ¿Eclipse + Java? Es que soy de C++ XD
    Sí, basicamente el actionlistener pone a un objeto en escucha de un controlador, y este le dice lo que tiene que hacer al ser pulsado. Haciendo la calculadora no tuve problemas, lo metí el actionlistener en la misma clase de la vista a lo bestia y listo. El problema principal es que no sé cómo controlar cada ventana desde su respectivo controlador en un paquete y clase distintos.

    En el código, le paso el control del siguiente botón al controlador correspondiente (MainWindowControl):

    optionConectar.addActionListener(new MainWindowControl(this));

    A partir de ahí me cago encima, no sé cómo gestionarlo en el controlador. Anteriormente lo he gestionado desde la misma vista (en la calculadora), por ejemplo en este caso sería:

    optionConectar.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    SubwindowConnection subSPL = new SubwindowConnection();

    }
    });

    Y el botón optionConectar abriría la subventana de conexión, peeero no estoy respetando el diseño MVC, eso tiene que gestionarlo el controlador.


    Está hecho en Netbeans, imagino que con cualquier IDE Java chutará. Para que chute la conexión con el servidor en Xampp hace falta meterle el driver pertinente en las librerías (mysql-connector-java-8.0.29.jar). Lo adjuntaría pero asumo que nadie utiliza Güindous aquí. La BDD que uso es esta:

    https://drive.google.com/file/d/1Ktf...ew?usp=sharing

    El problema viene en gestionar todo con el MVC. Más o menos sé qué hacer pero no cómo.

    La parte de las vistas no hay problema, más o menos chapucera salieron bien. Están ambas en el código del Github, un Jframe principal (hecho a mano, no nos deja usar la herramienta GUI) trampeando layouts con varios paneles en donde se gestionan X cosas, y una subventana (otro JFrame, aunque está desaconsejado) donde se maneja la conexión al servidor MySQL.

    En el Modelo se hacen los métodos estáticos que se utilizan para conectar al servidor, para desconectar, para usar X tabla y para realizar X consulta (solo se muestran tablas).

    La parte del controlador es la más problemática, es la que se encarga de escuchar a las ventanas y realizar las acciones pertinentes en cada una de ellas (en la principal básicamente las opciones del menú superior (instanciar una subventana de conexión, desconectar, abrir la BDD que introduzcamos en el jtextfield pertinente, lo mismo con la tabla...). Una vez accede a la bdd, carga las tablas existentes y mediante el combobox o introduciendo el nombre de tabla en el Jtextfield, muestra la tabla.

    El controlador de la subventana se encarga de realizar la conexión, muestra un estado en la parte central si se puede conectar o no, y si lo hace pasa la información de credenciales a las etiquetas del panel de la ventana principal. Las credenciales de la conexión las pilla de los JTextfield pertinentes de la subventana de conexión. El password es indiferente, no lo vamos a usar. El puerto lo he cambiado en mi ejemplo porque tengo rulando otro servidor en el que utiliza el MySQL de Xampp por defecto (3306).

    Paralelamente, hay que gestionar que los elementos y paneles de la ventana principal se activen o desactiven dependiendo del estado en el que nos encontremos (una pequeña máquina de estados).

    El vídeo lo explica más o menos bien para lo poco que explica siempre, y el ejercicio resuelto 4 es similar, solo que mucho más simplificado.
    Última edición por selecter25; 23/05/2022 a las 13:17

  8. #66

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    Bajando el netbeans, me ha dicho que necesito la versión de java 8.. que es la que tengo instalada :P Creo que es porque no tengo el JDK pero si que tengo el JRE.

    Que peñazo de java.
    Última edición por swapd0; 23/05/2022 a las 13:45
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  9. El siguiente usuario agradece a swapd0 este mensaje:

    selecter25 (23/05/2022)

  10. #67

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    Bajando el netbeans, me ha dicho que necesito la versión de java 8.. que es la que tengo instalada :P Creo que es porque no tengo el JDK pero si que tengo el JRE.

    Que peñazo de java.
    Exacto, será por el JDK. Coincido, yo empecé el curso con bastantes ganas, y Java me ha hundido en la más absoluta miseria. Y eso que lo poco que sabía era C# orientado a Unity y lo disfrutaba, pero esto es una tortura constante.

  11. #68

    Fecha de ingreso
    Mar 2007
    Ubicación
    Barna
    Mensajes
    10,341
    Mencionado
    93 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    368
    Agradecer Thanks Received 
    1,791
    Thanked in
    Agradecido 944 veces en [ARG:2 UNDEFINED] posts
    Lo siento, no me he enterado de nada y eso que fui profesor de Java hace unos años.

    Por si te vale, has probado lanzar un evento desde dentro de tu listener? El controlador debería capturar ese evento y gestionarlo con otro listener.

    Imagino que sabes siempre puedes crear tus propios eventos con el nombre que quieras y lanzarlos cuando lo consideres
    "Todo es absolutamente falso, salvo alguna cosa"

  12. El siguiente usuario agradece a juanvvc este mensaje:

    selecter25 (23/05/2022)

  13. #69

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Ufff, una cosa es echarte una mano con un algoritmo que en 15 o 20 minutos se puede resolver, y otra muy distinta es meternos en Swing y BBDD ^^U
    Tengo el Java tremendamente oxidado, y recuerdo que la interfaz de Java (Swing) era la muerte a pelizcos, cuestión de prueba y error. He tenido menos problemas en adaptarme a HTML que a eso, con eso lo digo todo

    No sé si te podré echar un cable esta vez, pero al menos intentaré darte ánimos Java, si no fuera porque es multiplataforma, hace años que habría desaparecido. A mi incluso me decían que no me pelease demasiado con la interfaz porque los proyectos que hacíamos, al final, implementarían formularios HTML, así que si has llegado hasta aquí es para sentirse orgulloso.
    Y lo de que hayais quedado 4... bueno, es normal. Ya comenté que para programar hay que tener el cerebro configurado de una forma rara, y tener ese punto de friki-locura, y no todo el mundo lo tiene. Si en Teleco suspendían un 40% de los estudiantes, ni te cuento en un curso de varias semanas. Pero no te despistes, que muchas veces la gente deja de ir a clase para trabajar desde casa.

    Ve paso por paso. Si es un MVC, empieza obteniendo los datos de la tabla. No importa cómo llames a la función ni los parámetros, sólo obtén los datos de la tabla en una List, y luego le aplicas filtrado de datos. Luego pásaselo al controlador, y por último haz que la vista lo llame, y luego muestra los datos. Hacerlo todo de golpe te va a saturar. Precisamente el usar MVC es para que cada una de las partes (interfaz, control, llamadas a BBDD) sean totalmente independientes unas de otras, y se puedan testear una a una, sin usar las otras. Céntrate en eso.
    Incluso, si he entendido bien tu problema, intenta que tu botón o tu control llame al controller, y que este devuelva una lista que hayas creado tu por código, o una string, o lo que sea, pero sin llamar a la BBDD, y usa tu programa de calculadora como ejemplo, no te compliques.

    Si veo que en casa tengo un rato para ayudarte, le echaré un vistazo, pero no prometo nada con tan poco tiempo :S
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  14. El siguiente usuario agradece a Drumpi este mensaje:

    selecter25 (23/05/2022)

  15. #70

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por juanvvc Ver mensaje
    Lo siento, no me he enterado de nada y eso que fui profesor de Java hace unos años.

    Por si te vale, has probado lanzar un evento desde dentro de tu listener? El controlador debería capturar ese evento y gestionarlo con otro listener.

    Imagino que sabes siempre puedes crear tus propios eventos con el nombre que quieras y lanzarlos cuando lo consideres

    Cita Iniciado por Drumpi Ver mensaje
    Ufff, una cosa es echarte una mano con un algoritmo que en 15 o 20 minutos se puede resolver, y otra muy distinta es meternos en Swing y BBDD ^^U
    Tengo el Java tremendamente oxidado, y recuerdo que la interfaz de Java (Swing) era la muerte a pelizcos, cuestión de prueba y error. He tenido menos problemas en adaptarme a HTML que a eso, con eso lo digo todo

    No sé si te podré echar un cable esta vez, pero al menos intentaré darte ánimos Java, si no fuera porque es multiplataforma, hace años que habría desaparecido. A mi incluso me decían que no me pelease demasiado con la interfaz porque los proyectos que hacíamos, al final, implementarían formularios HTML, así que si has llegado hasta aquí es para sentirse orgulloso.
    Y lo de que hayais quedado 4... bueno, es normal. Ya comenté que para programar hay que tener el cerebro configurado de una forma rara, y tener ese punto de friki-locura, y no todo el mundo lo tiene. Si en Teleco suspendían un 40% de los estudiantes, ni te cuento en un curso de varias semanas. Pero no te despistes, que muchas veces la gente deja de ir a clase para trabajar desde casa.

    Ve paso por paso. Si es un MVC, empieza obteniendo los datos de la tabla. No importa cómo llames a la función ni los parámetros, sólo obtén los datos de la tabla en una List, y luego le aplicas filtrado de datos. Luego pásaselo al controlador, y por último haz que la vista lo llame, y luego muestra los datos. Hacerlo todo de golpe te va a saturar. Precisamente el usar MVC es para que cada una de las partes (interfaz, control, llamadas a BBDD) sean totalmente independientes unas de otras, y se puedan testear una a una, sin usar las otras. Céntrate en eso.
    Incluso, si he entendido bien tu problema, intenta que tu botón o tu control llame al controller, y que este devuelva una lista que hayas creado tu por código, o una string, o lo que sea, pero sin llamar a la BBDD, y usa tu programa de calculadora como ejemplo, no te compliques.

    Si veo que en casa tengo un rato para ayudarte, le echaré un vistazo, pero no prometo nada con tan poco tiempo :S
    No me extraña Juan, ya os digo que mi compañera me dijo "bah, tráemelo y te lo hago en una tarde", y se ha quedado ojiplática.

    De momento he avanzado algo con la primera idea que tenía, pensaba que ponía en escucha al objeto en sí, pero no, le paso el control completo de la vista al controlador.

    En la clase del controlador se crea un constructor que recibe un objeto de tipo "Ventana principal" que instancio, y sobre ese constructor se determinan las acciones de los botones que se quieran. Desde aquí también puedo lanzar todos los métodos estáticos del Modelo, así que no estamos tan mal.

    Imagino que haciendo lo mismo con la subventana funcionará. Voy a darle un arreón más, si alguien quiere dotorear, estoy haciendo push al Github constantemente, mil gracias por las sugerencias y la ayuda siempre.
    Última edición por selecter25; 23/05/2022 a las 16:49

  16. #71

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    He hecho que se muestre la ventana al seleccionar el menu, como no tengo instalado el sql no se conecta pero podrás arreglarlo. Te dará idea de como hacer las cosas, los comentarios míos están con tres / (///), aunque no hay muchos, mis variables y métodos estan en ingles y los atributos de las clases empiezan por _

    Unas cosas, revisa los nombres de los ficheros y clases, tienes SubwindowConecctionControl y SubwindowConnection. Yo usaría MainWindowController y ConnectionWindowController para los controladores y MainWindow, ConnectionWindow para las vistas.

    Para rehabilitar los menus debería de haber un método o un listener que se llame antes de mostrar el menu, en esa función miras el objeto conexión para saber lo que debes de habilitar y deshabilitar.

    Porras, debi de ir escribiendo esto ahora me he quedado en blanco XD
    Archivos adjuntados Archivos adjuntados
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  17. #72

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por selecter25 Ver mensaje
    La parte del controlador es la más problemática, es la que se encarga de escuchar a las ventanas y realizar las acciones pertinentes en cada una de ellas (en la principal básicamente las opciones del menú superior (instanciar una subventana de conexión, desconectar, abrir la BDD que introduzcamos en el jtextfield pertinente, lo mismo con la tabla...). Una vez accede a la bdd, carga las tablas existentes y mediante el combobox o introduciendo el nombre de tabla en el Jtextfield, muestra la tabla.

    El controlador de la subventana se encarga de realizar la conexión, muestra un estado en la parte central si se puede conectar o no, y si lo hace pasa la información de credenciales a las etiquetas del panel de la ventana principal. Las credenciales de la conexión las pilla de los JTextfield pertinentes de la subventana de conexión. El password es indiferente, no lo vamos a usar. El puerto lo he cambiado en mi ejemplo porque tengo rulando otro servidor en el que utiliza el MySQL de Xampp por defecto (3306).

    Paralelamente, hay que gestionar que los elementos y paneles de la ventana principal se activen o desactiven dependiendo del estado en el que nos encontremos (una pequeña máquina de estados).
    Yo suelo hacer la parte del modelo como si fuera una aplicacion para la linea de comandos, sin que dependa de nada, las vistas son de codigo "tonto", me pasan algo lo muestro y tengo algun metido para ver lo que ha cambiado.

    La parte del controlador es la que une todo, aunque en el modelo MVC estan en forma de triangulo que cada uno puede enviar datos a los demás no me gusta hacerlo asi, creo que se generan mas dependencias y queda menos reutilizaba.

    Mas o menos he hecho que en el BDApp (se llamaba asi?), se crea un objeto conexión y el controlador de la ventana principal, este se encargara de crear la ventana. El mensaje del menu de conexión se podria recibir en esta ventana (la principal) o en BDApp, que funcionaria como un objeto aplicacion (mas o menos como en OS-X), el que lo reciba deberá crear el controlador de la ventana de conexión (se le pasaría el objeto conexión), y este crearía su ventana. No se, es cuestión de encapsular cada ventana "dentro" de su controlador, y es el controlador el que recibe los mensajes al pulsar los botones o menús.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

  18. #73

    Fecha de ingreso
    Sep 2009
    Ubicación
    Donde quiero
    Mensajes
    6,160
    Mencionado
    175 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,848
    Agradecer Thanks Received 
    2,378
    Thanked in
    Agradecido 1,309 veces en [ARG:2 UNDEFINED] posts
    Le echo un ojo, mil gracias!

  19. #74

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,202
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    675
    Agradecer Thanks Received 
    1,847
    Thanked in
    Agradecido 1,264 veces en [ARG:2 UNDEFINED] posts
    Lo mismo digo una obviedad y ya lo habéis discutido (lo siento, pero ahora mismo me estoy peleando con mi propio código ^^U) pero deberías poder tratar cada ventana como un ente individual: cada ventana tiene su vista y su controlador, de forma que la vista sólo se puede comunicar con su controlador y sólo con su controlador, es decir, la sub-vista NUNCA llama a funciones del controlador de la vista padre. La única forma de conectar una ventana con la otra es que la ventana2 haga una llamada a controlador2, el controlador2 envíe la información a controlador1, y el controlador1 se la mande a la ventana1. Parece un lío y una chorrada ineficiente, pero es como se hace en MVC, y te permite tener las cosas independientes y ordenadas.

    De esta forma, no pienses que es un ejercicio con dos ventanas, sino dos ejercicios de una ventana... que interactúan entre sí, y verás que se simplifican las cosas en tu cabeza.

    Yo ahora mismo me estoy peleando con Xamarin, que es MVVM (concepto similar al MVC, con una capa aparte para llamar a la WebApi) y su correspondiente WebApi2 que es un MVC, pero sin vistas. Para obtener un dato de la BBDD, debo bajar 5 capas, y luego recorrerlas en sentido inverso... pero luego puedo cambiar la vista de xaml por html, en lugar de comunicarme con una WebApi podría ser con otra web o con una BBDD, y en la WebApi es común cambiar de una BBDD Transact-SQL por Hana.
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  20. #75

    Fecha de ingreso
    Sep 2006
    Ubicación
    Malaga
    Mensajes
    7,561
    Mencionado
    47 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    1,668
    Agradecer Thanks Received 
    1,922
    Thanked in
    Agradecido 1,289 veces en [ARG:2 UNDEFINED] posts
    Si esa es la idea, pero cuando le das al menu para mostrar la ventana de conexión, donde "capturas ese evento", en la ventana principal o en el "objeto aplicacion". En OS-X como existe ese objeto aplicacion (AppDelegate) yo lo haría alli, en este caso... no se. Se podria hacer en la ventana principal.

    Ya puestos hasta se podria separar los menus y añadirle su propio controlador.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.


    It is an undisputed truth that the Atari ST gets the best out of coders. No dedicated hardware, just the CPU and a frame buffer! Some call it Spartan, others name it Power Without The Price, and a select few say `challenge accepted'! --- by spkr from smfx

Página 5 de 17 PrimerPrimer 12345678915 ... ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •