Java - JInternalFrame

 
Vista:
sin imagen de perfil

JInternalFrame

Publicado por Jennifer Puerta (7 intervenciones) el 20/03/2012 21:15:26
Buenas tardes,

Quisiera saber si alguien ha logrado lo siguiente con un JInternalFrame:

1.- Anclarlo en un JDesktopPane: Es decir, evitar que el usuario no pueda cambiar la posicion del JInternalFrame añadido al JDesktopPane.

2.- Ocultar la barra donde aparece el titulo del JInternalFrame (y los botones de maximizar y minimizar): Algo equivalente al setUndecorated(true) de un JFrame.

No se si le estoy dando un uso incorrecto a este componente, mi intención es simular un iframe html en java, mediante un JDesktopPane y al seleccionar una opcion de un menu, desplegar el JInternalFrame en el JDesktopPane; si existe otra alternativa para implementar lo que necesito, escucho sugerencias!

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

JInternalFrame

Publicado por Jennifer Puerta (7 intervenciones) el 20/03/2012 22:24:44
Ya logre hacer lo que queria! anexo el codigo que solventa mis 2 problemas:

1.- En mi JInternalFrame creo dos atributos:

private JComponent Barra = ((javax.swing.plaf.basic.BasicInternalFrameUI) getUI()).getNorthPane();
private Dimension dimBarra = null;

2.- En el mismo JInternalFrame implemeto el siguiente metodo:

public void ocultarBarraTitulo()
{
Barra = ((javax.swing.plaf.basic.BasicInternalFrameUI) getUI()).getNorthPane();
dimBarra = Barra.getPreferredSize();
Barra.setSize(0,0);
Barra.setPreferredSize(new Dimension(0,0));
repaint();
}

3.- Invoco el metodo ocultarBarraTitulo() luego de instanciar el JInternalFrame.

Debido a que se oculta la barra de titulo, se impide que el usuario pueda mover JInternalFrame ... a mi me funcionó! espero les sea util.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

JInternalFrame

Publicado por JuanPe (1 intervención) el 23/08/2012 11:41:03
Muy bueno. Gracias por el aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por jose luis (1 intervención) el 24/08/2012 01:13:37
Oye en verdad gracias por publicar tu respuesta, justo algo así estaba buscando,gracias por esa amabilidad de publicarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Carlogan (1 intervención) el 11/09/2012 00:39:07
En verdad muchas gracias por el aporte me has quitado un dolor de cabeza, justamente tenia ese problema y no encontraba una solución ...

Exitos !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Freddy (1 intervención) el 26/09/2012 11:23:15
muchisimas gracias por ese aporte, me funciono al 100
una pregunta, no sabes como en lugar de ocultarla, cambiarle el color?
ya ves que por default viene en azul.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Jorge Adrián (1 intervención) el 23/03/2013 14:43:27
Jennifer es muy buena tu implementación. También existe una manera más limpia si se quiere, que es especificar en el constructor de la clase si estará habilitada o no:
Lo mejor siempre es extender tu JInternalFrame y luego llamar al constructor padre de dicha clase.
En los tutoriales de java está perfectamente explicitado:

http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/components/InternalFrameDemoProject/src/components/MyInternalFrame.java

Pones en false las opciones para resizable, closable, maximizable, iconificable y listo.

El ejemplo completo:
http://docs.oracle.com/javase/tutorial/uiswing/components/internalframe.html

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Horacio (1 intervención) el 01/07/2017 18:27:21
Gracias por tu gran aporte me sirvió mucho Saludos desde Pachuca Hgo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por joaquin (1 intervención) el 19/04/2013 03:31:17
Te excediste!! tenia meses buscando esto. Grande!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por lalyromero (2 intervenciones) el 17/06/2013 05:33:57
Gracias fue de gran utilidad!

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Christian Marquez (1 intervención) el 29/10/2014 18:01:13
Excelente pana.. Buena respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Cindy (1 intervención) el 26/05/2015 01:40:33
Genial, me sirvió mucho :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Christian (1 intervención) el 16/02/2018 21:45:13
disculpa en que parte del jinternal integras el código por que me causa problemas al colocarlo con el getUI()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por lalyromero (2 intervenciones) el 17/06/2013 05:41:57
Esto funciona bien, pero si minimizo mi ventana principal y luego vuelvo a visualizarla, vuelve a aparecer la barra superior, cosa que no quiero.

Miren buscando mucho encontré otra forma de hacerlo:
dentro del JInternalFrame pongo esta linea:

((BasicInternalFrameUI) this.getUI()).setNorthPane(null);

A mi me funciono espero que sea de ayuda para alguien mas.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

JInternalFrame

Publicado por Venom (1 intervención) el 30/12/2014 20:47:54
Excelente post, te felicito, fácil de entender y sencillo, era justamente lo que buscaba.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

JInternalFrame

Publicado por Willy (1 intervención) el 12/09/2016 20:37:12
Exactamente estaba intentando como ocultar la barra del Internal.
Gracias por publicar la solución!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar