El proyecto:
Esto te creara un nuevo Frame vacio, debes tener algo como esto hasta ahora
Paso 3: Has clic derecho sobre el JInternalFrame "Hijo1" y elige "propiedades" (properties), y realiza los siguientes cambios :
Realiza el mismo paso para el JInternalFrame "Hijo2"
Paso 4: Puedes trabajar con los nuevos frames "Hijo 1" e "Hijo 2" independientemente, y añadirles los objetos para trabajar en ellos.
Paso 5: Para llamarlos desde el jFrame padre, clic derecho sobre uno de los JMenu y escoge EVENTS - ACTION - ACTIONPERFORMED
El codigo para crearlos es el mismo que si de un JFrame se tratara, con la diferencia de que despues hay que añadirlos al JDesktop, el codigo es el siguiente:
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// Se crea el objeto
Hijo1 h1 = new Hijo1();
// se añade al jDesktopPane
jDesktopPane1.add(h1);
//se muestra en pantalla
h1.show();
}
Lo mismo para el "Hijo 2" y ya esta
26 comentarios:
Es muy buena la aplicacion me sirvio mucho....gracias!!!
Amigo hola como estas, tengo un problema quiero llamar un jinternalframe desde otro internalframe, todo esto debe ocurrir dentro del frame padre.como haria... desde ya gracias..ojala me contestes a tiempo :(
pues esta medio complicado explicar pero haber.
tomando como ejemplo el programa de esta post, lo que debes hacer es
1. Al JDesktopPane, ingresas a sus propiedades -> code, y en variable modifiers, le aumentas STATIC
2. en el form principal, le añades este metodo:
static public void abrirhijo(){
// Se crea el objeto
hijo2 hijomio = new hijo2();
// se añade al jDesktopPane
Panel.add(hijomio);
//se muestra en pantalla
hijomio.show();
}
3. en el form hijo que quieres utilizar, por ejemplo HIJO1, le añades un boton y llamas al metodo:
papa.abrirhijo();
eso es todo :=)
perdon por la tardanza :/
Hola JC - MOUSE y atodos los que usaron el codigo, aqui va mi aporte, esto que escribire acontinuacion, permite abrir los hijos en una sola instancia, ya que de ,la forma que empelaste, mostrara al hijo cada vez que cliceemos el objeto que lo mostrará y asi se veran muchas instancias del mismo, cosas que no es efectiva, bien aqui está:
// Se crea el objeto una sola vez.....
Hijo1 h1 = new Hijo1();
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// se añade al jDesktopPane
jDesktopPane1.add(h1);
//se muestra en pantalla
h1.show();
}
es todo, algo simple pero que me costo hacerlo...XD
De paso, espero me ayuden con esto:
Quiero cerrar un JInternalFrame pero no ocultarlo, sino, que se cierre, que finalice, que desaparezca del buffer... digamos que empleo setVisible(true); para mostrar, est abien, lo ejecuta, pero si empleo setVisible(false); solo lo oculta y todo lo que hice alli se volverá a ver al mostrarlo nuevamente; a eso voy, digamos, abro mi JIF y alli tengo un jtext en el cual he escrito algo, si uso setvisible, lo que escribi me vuelve a aparecer... creo que me explico, espero me ayuden!!!
Gracias!!!
Pra cerrar un JinternalFrame lo debes hacer de la siguiente manera
this.dispose();
kien lo puede hacer ayudenme...el trabajo me inmpide..hacerlo.el record..es de 2.Horas ..el que lo aga en menos..mis Respetos..Gracias
Construir una aplicación que permita automatizar el sistema de información académico de la Universidad Privada para los alumnos de la carrera de Ingeniería de sistemas, de acuerdo a los siguientes criterios que se plantean a continuación:
CARACTERISTICAS DE LA APLICACIÓN:
• DEBE SER ORIENTADA A OBJETOS
• DEBE SER EN ENTORNO VISUAL(Java Swing)
• DEBE ESTAR BASADA EN ESTRUCTURA DE DATOS (ARREGLOS O LISTAS (vectores, HashTable, etc.)). NO USAR BASE DE DATOS
ALCANCES DE LA APLICACIÓN:
El sistema debe estar conformado por 4 formularios los cuales será invocado desde un JMenuBar.
FORMULARIO 1: REGISTRO DE ALUMNOS
Se almacenarán los siguientes datos: CodAlu (Código del alumno), ApeAlu (Apellido del Alumno) y NomAlu (Nombre del Alumno)
En este formulario se podrán realizar las operaciones de mantenimiento de datos de los alumnos (tales como: Insertar, Modificar, Eliminar y buscar). Todos los alumnos Ingresados deben Mostrarse en forma de Listado
FORMULARIO 2: REGISTRO DE ASIGNATURAS
Se almacenarán los siguientes datos: CodAsi (Código de la asignatura), NomAsi (Nombre de la asignatura) y ciclo.
En este formulario se podrán realizar las operaciones de mantenimiento de datos de los alumnos (tales como: Insertar, Modificar, Eliminar y buscar). Todos los alumnos Ingresados deben Mostrarse en forma de Listado
FORMULARIO 3: REGISTRO DE NOTAS
Se almacenarán los siguientes datos: CodAlu (Código del alumno), CodAsi (Código de la asignatura), PC1, EP, PC2, TP, EF, SUST, PF.
El ingreso de notas en este formulario debe realizarse de la siguiente forma:
a) Se debe seleccionar mediante un jCombo al alumno.
b) Luego, seleccionar mediante otro combo el ciclo en el cual el alumno está matriculado
c) Luego seleccione la asignatura que corresponde al ciclo donde el alumno está matriculado. (El combo automáticamente debe presentar dichas asignaturas)
d) Luego Ingresar la notas que correspondan. Al finalizar se debe presionar el botón Grabar. (El cálculo del Promedio final debe ser automático)
e) Los Datos ingresados debe visualizarse en forma de listado
FORMULARIO 4: REPORTE DE NOTAS
Este formulario debe visualizarse el reporte de notas de acuerdo a los siguientes criterios: Por asignaturas, Por ciclo, Por Alumnos y por situación académica (aprobado o desaprobado)
Comentario y explicaciones...porfavor lo mas sencillo posible,,
kien lo puede hacer ayudenme...el trabajo me inmpide..hacerlo.el record..es de 2.Horas ..el que lo aga en menos..mis Respetos..Gracias
Construir una aplicación que permita automatizar el sistema de información académico de la Universidad Privada para los alumnos de la carrera de Ingeniería de sistemas, de acuerdo a los siguientes criterios que se plantean a continuación:
CARACTERISTICAS DE LA APLICACIÓN:
• DEBE SER ORIENTADA A OBJETOS
• DEBE SER EN ENTORNO VISUAL(Java Swing)
• DEBE ESTAR BASADA EN ESTRUCTURA DE DATOS (ARREGLOS O LISTAS (vectores, HashTable, etc.)). NO USAR BASE DE DATOS
ALCANCES DE LA APLICACIÓN:
El sistema debe estar conformado por 4 formularios los cuales será invocado desde un JMenuBar.
FORMULARIO 1: REGISTRO DE ALUMNOS
Se almacenarán los siguientes datos: CodAlu (Código del alumno), ApeAlu (Apellido del Alumno) y NomAlu (Nombre del Alumno)
En este formulario se podrán realizar las operaciones de mantenimiento de datos de los alumnos (tales como: Insertar, Modificar, Eliminar y buscar). Todos los alumnos Ingresados deben Mostrarse en forma de Listado
FORMULARIO 2: REGISTRO DE ASIGNATURAS
Se almacenarán los siguientes datos: CodAsi (Código de la asignatura), NomAsi (Nombre de la asignatura) y ciclo.
En este formulario se podrán realizar las operaciones de mantenimiento de datos de los alumnos (tales como: Insertar, Modificar, Eliminar y buscar). Todos los alumnos Ingresados deben Mostrarse en forma de Listado
FORMULARIO 3: REGISTRO DE NOTAS
Se almacenarán los siguientes datos: CodAlu (Código del alumno), CodAsi (Código de la asignatura), PC1, EP, PC2, TP, EF, SUST, PF.
El ingreso de notas en este formulario debe realizarse de la siguiente forma:
a) Se debe seleccionar mediante un jCombo al alumno.
b) Luego, seleccionar mediante otro combo el ciclo en el cual el alumno está matriculado
c) Luego seleccione la asignatura que corresponde al ciclo donde el alumno está matriculado. (El combo automáticamente debe presentar dichas asignaturas)
d) Luego Ingresar la notas que correspondan. Al finalizar se debe presionar el botón Grabar. (El cálculo del Promedio final debe ser automático)
e) Los Datos ingresados debe visualizarse en forma de listado
FORMULARIO 4: REPORTE DE NOTAS
Este formulario debe visualizarse el reporte de notas de acuerdo a los siguientes criterios: Por asignaturas, Por ciclo, Por Alumnos y por situación académica (aprobado o desaprobado)
Comentario y explicaciones...porfavor lo mas sencillo posible,,
hasta este jueves ..porfaaaa
llegue tarde pero no esta tan dificil esa aplicacion que dice, lo siento
hola mouse..soy el de la aplicacion anterior..bueno intente hacerlo..no en 2 horas si no en mas tiempo...lo de la hora es referncial..bueno ..salio el trabajo ..pero me faltaron lagunas cosas....Bueno si existe la forma mas sencilla ..si puedes hacerlo..y explicarlo como siempre..gracias amigo..cuidate..soy el de la aplicacion que no pude realizar.
MUCHAS GRACIAS POR LA AYUDA, TMB M SIRVIO DE MUXO!!!
SALU2
lo voy a ensayar espero me sirva se le agradece, bna explicación.
Buena info ratita, pero como abro la ventana 2 desde la 1 y le envio un valor a una variable creada en la ventana 2. Si puedo abrir la ventana 2 desde la 1 pero no puedo asignarle valores a sus variables. Muchas gracias, saludos.
Anonimo ultimo: para compartir valores entre formularios puedes utilizar STATIC o referencias a los objetos
Excelenete post :P
Hola saludos
tengo una pregunta
¿Como podría hacer los MDi en NetBeans 7? ya he intentado de todo!. Quería usar java por que detesto el software propietario y además java es multi plataforma pero la verdad me NetBeans me parece una m!erd4, q' lastima creo ke me tocará devolverme al mald!t0 visual basic que aunke a veces mal funcione por lo menos hay buena documentacion al respecto en la web.
gracias de antemano por la atencion y la pronta respuesta.
Una vez más tu blog me ha servido de mucho para aprender.
Gracias.
Como crear un sitema de registro de alumnos en java con netbeans.
Hola alguien me puede ayudar, necesito programar un sumulador de ingenieria economica en netbeans, es como una calculadora. Gracias
oye necesito un favor necesito mostrar los jINTERNALFRAME EN FORMA DE CASCADA O MOSAICO QUE SALGAN ORDENADOS.. SERA QUE PUEDES??
Hola amigo, en primer lugar felicitarte por el esfuerzo de brindar tus conocimientos a los que recien empezamos.
Bueno me baje el IDE 7.1 de netbeans y lo primero que hice fue crear una aplicacion con un procedimiento main() y luego agregue un MDI del asistente, al momento de ejecutar el MDI me aparece con un fondo azul muy bonito (pareciera una imagen), pero al momento de llamarlo desde el metodo main de la clase principal se pierde y aparece un fondo en blanco. Porque pasa eso, me podrias ayudar??
ya se porque aparece no aparece el fondo azul, que en si se trata del tema NIMBUS, lo que pasa es que al crear el MDI a traves del asistente, te crea un metodo main() donde se personaliza el formulario y alli hay un comentario que esta colapsado, pero si lo abres veran las sentencias que permiten aplicar el diseño al fomulario
/*
* Set the Nimbus look and feel
*/
ahora, como yo lo llamo desde otro main() de la clase principal de la aplicacion no ejecutaba ese main() del formulario, por lo que movi el codigo este, al main de mi clase principal y funcionó.
Ahora mi pregunta es si estará bien colocarlo alli o dentro de un proceso de inicializacion del formulario, asi como los eventos INIT() o LOAD() de los otros lenguajes del programacion.
Tengo un problema. Quisiera que cada vez que llame a un jframeinternal desde el menu solo se abra una vez y no varias ventanas del mismo, osea si esta presenten en el jdesktop ya no se abra otro hasta que este cerrado y otra problema q tengo, que pasa si el jframinternal es mas grande q el jdesktop como apareceria las barras de desplazamiento automaticamente dependiendo de los jinternalframe.
Dejo mi msn por siaca : pier_164@hotmail.com
espero tu ayudo please.
Perfecto manual y muy util, gracias
gracias men
Akles dejo una pequeña aplicacion ... http://darwinomartics.blogspot.com/2013/09/java-alquiler-de-habitaciones.html
buenas tardes mouse
muy bonito ejemplo, quisiera saber si hay alguna forma de que el reporte de ireport se pueda ver dentro de la aplicacion mdi como un Jinternalframe?
gracias
Publicar un comentario