0 votos
por (80 puntos) en Java
Hola Gente de Dudas de Programación !!!
Necesito un poco de ayuda con lo siguiente:
Tengo unas ventanas diseñadas en un esquema MDI de desarrollo.
Tengo mi JFrame principal con un menú básico y una barra de herramientas.
También tengo 3 JInternalFrame, uno para las acciones de grabación en base de datos, otro para los informes y listados y el tercero para búsquedas y consultas varias.
Tengo definidos varios módulos que van colocados en diferentes oficinas de una empresa. Por ejemplo, el módulo de ventas, el módulo de compras y stock, el módulo contable, etc.
Lo que quiero hacer es que cada vez que empiezo a desarrollar un módulo nuevo, pueda elegir de la paleta de componentes el JFrame principal que yo diseñé, con mi menú base y mi barra de tareas para que esa sea mi ventana principal. Y también poder seleccionar los JInternalFrames que yo diseñé según lo que tenga que hacer (un abm, un listado o una consulta).
Hasta acá lo que quiero hacer. Ahora les cuento lo que probé hacer.
Lo primero que probé fue heredar (extender) directamente de mis objetos por el código. Creo una clase de java, extiendo de mi ventana principal y... El problema que encontré es que no me abre la solapa de diseño para poder modificar la interfaz gráfica y agregar y ubicar en pantalla los componentes que necesito (JLabels y JTextFields por ejemplo o el resto del menú específico del módulo).
Después, generé la JFrame como siempre en java. Entré en la solapa de source y le cambi;e la herencia (extends) del JFrame y mi ventana principal. Ahora veo la solapa de diseño, pero no veo nada de los menús y barra de herramientas que tengo en mi ventana padre.
Después de eso, grabé mis ventanas base (o padre) como "template". Esto me funcionó bien hasta que tuve que modificar algo en mi diseño. Por ejemplo, tuve que agregar un botón en la barra de herramientas. Volví a grabar como "template" y todas las pantallas que habían heredado de las pantallas antes de la modificación no se enteraron que había modificado algo.
Hay alguna manera de hacer esto sin morir en el intento o sacrificar infinitas horas rehaciendo todo lo hecho???
Desde ya, muchas gracias !!!

1 Respuesta

0 votos
por (40 puntos)
Buenos dias, a estas alturas de la vida me encuentro en el mismo problema. Y buscando no encontre mucha o poca informacion. Use plantillas pero es pobre la herencia que demuestra (debo modificar el codigo para los nombre de la clase y problemas de interfaz). Encontraste la solucion?? Un saludo, soy de Peru y espero todo se encuentre bien contigo.
por (80 puntos)
Hola Luchito !! Lo que hice para solucionar esto fue cambiar el IDE de programación. Me mudé de NetBeans a Eclipse. Después de un buen tiempo de investigación, descubrí que lo que yo quería, no se puede hacer por la forma en que NetBeans genera las pantallas. Resulta que NetBeans genera una archivo ".JAVA" con el código fuente y otro archivo con la imagen de la pantalla generada. Entonces, al retocar el código de los objetos padre, lo objetos hijo no se enteran porque NetBeans ya tiene una imagen del objeto hijo que no se modifica.
Desde que descubrí esto, trabajo con el Eclipse. Instalé el plugin WindowsBuilder Pro que genera código muy compacto y leíble. Y ahora todo funciona perfecto. Cuando graba, genera un archivo ".JAVA" y cada vez que se entra a la solapa de diseño, compila el código y muestra en la solapa de diseño todas las modificaciones que se hayan realizado. Si se ajusta el diseño visualmente, automáticamente se ajusta el código fuente. Si se ajusta el código fuente, automáticamente se ajusta el diseño. Además, me generé mi propia paleta de componentes con botones, menús, jpanels, etc. Y cuando los preciso los tomo de la paleta como se hace con los nativos.
Espero haber sido de ayuda.
Te envío un fuerte abrazo desde Argentina.
por (40 puntos)
Hola soy Luchito. Me alegra que hayas encontrado la felicidad en Eclipse tal y como lo describes. Soy fanático de la reutilizacion, asi lo aprendi en las aulas y lo desarrolle en Power Builder incluyendo no solo codigo sino el GUI. Estoy de lleno entrando a java y por tu experiencia  me veo en la necesidad de migrar a Eclipse y sentirme conforme y no defraudado con java solo por IDE. Muchas gracias por compartir tu solucion. La programacion siempre me ha fascinado a pesar del amplio campo de aplicaciones que tenenos los informaticos. Un abrazo estimado y colega.
por (80 puntos)
Luchito !! No descartes JAVA sin antes haber probado llegar a buen destino con lo que te propones. Deberías escribir tus dudas y consultas en cuanto blog encuentres. Si no encuentras la solución, deja pasar un tiempo y vuelve a preguntar. Y solamente cuando descubras que no se puede hacer lo que quieres hacer, descartarlo por otra cosa. JAVA es un lenguaje lleno de posibilidades. La mayor parte de los programadores usan sólo un 15 o un 20 % del lenguaje. También hay mucho programador novato que responde preguntas sin saber mucho de los temas que responde. Yo también vengo del Power Builder y en un momento decidí cambiar todos mis sistemas por otro lenguaje. Hice mi investigación de lenguajes y me incliné por JAVA por la gran cantidad de facilidades que provee. La curva de aprendizaje es empinada, pero al final vale la pena. Hoy me encuentro trabajando con JAVA 13 y en pleno cambio del Power Builder a JAVA. Me tomé mi tiempo para diseñar y desarrollar mis librerías de objetos visuales personalizados, después los mejoré y ahora voy por la versión 3. Y todavía se pueden hacer muchas cosas más con esas librerías. Todos los días se me ocurre algo nuevo. También he usado mucho JAVA para desarrollos web. Es una muy buena plataforma para eso. Espero que sigas adelante y no te desalientes.
Saludos !!!

Preguntas relacionadas

0 votos
0 respuestas
preguntado por zantiok (20 puntos) May 29, 2019 en Java
0 votos
0 respuestas
preguntado por Albertoused1999 (20 puntos) Oct 25, 2022 en Java
0 votos
3 respuestas
preguntado por cyamda (30 puntos) Jul 10, 2021 en Java
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...