Java - No mover Frame

   
Vista:

No mover Frame

Publicado por undertaker (61 intervenciones) el 11/09/2013 05:07:31
buenas..buscaba si es posible no poder mover una jframe,jinternal o jdialog

que quede pegada pero la ventana tenga su funcionamiento

nose si se puede hacer algo con el evento formComponentMoved
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

No mover Frame

Publicado por Octavio Javier (74 intervenciones) el 12/09/2013 22:35:36
Hola amigo, no conozco el formComponentMoved.

Pero se me ocurre que crees un frame del tamaño entero de la pantalla, que no puedas redimencionarlo y le quitas los botones de maximizar y restaurar, en el pongas un jdesktoppane del tamaño de la ventana que no quieres que se mueva y dentro del jdesktoppane un jinternalframe (tu ventana en cuestión), de este modo solo se puede minimizar la ventana pero no pueden moverla del lugar y siques pudiendo trabajar en ella.

Es lo único que se me ocurre en este momento.
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

No mover Frame

Publicado por undertaker (61 intervenciones) el 13/09/2013 03:33:41
Gracias por responder
Hice un Frame, le coloque un jdesktoppane
al desktoppane puedo usar internalframe
a la internalframe le agrege Jdialogs
Todo bien hasta alli
pero lo unico que quiero es que a los jdialogs solo se muevan en el desktoppane y no fuera de la ventana, asi puedo controlar todo

Intente con algo asi pero no me funciona el jdialogs de igual forma se mueve fuera de desktoppane

1
2
3
4
5
6
7
8
9
10
Frame f = JOptionPane.getFrameForComponent(this);
        JDialogsFrame dialog = new JDialogsFrame(f, true);
        Dimension desktopSize = JFramePrincipal.jDesktopPane1.getSize();
        Dimension jInternalFrameSize = dialog.getSize();
        int width = (desktopSize.width - jInternalFrameSize.width) / 2;
        int height = (desktopSize.height - jInternalFrameSize.height) / 2;
 
        dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
        dialog.setLocation(width, height);
        dialog.setVisible(true);

Esto lo cargo al abrir el jdialogs
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

No mover Frame

Publicado por Octavio Javier (74 intervenciones) el 13/09/2013 05:08:20
En lugar de usar JDialogs usa solamente JInternalFrames y solucionaras el problema !

SI usas internals frames no tendras inconvenientes porque no salen fuera del desktop panel !!!!

Mañana me cuentas como te fue !
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

No mover Frame

Publicado por undertaker (61 intervenciones) el 13/09/2013 23:34:32
ok el problema que al usar internalframe, no cumplo con otro requisito de que no sea modal, es decir, que no pueda volver al anterior frame sin aceptar o salir de dialogs
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

No mover Frame

Publicado por Octavio Javier (74 intervenciones) el 14/09/2013 01:14:49
Bueno lo que se me ocurre es hacer modal al JInternalFrame:

mira alguno de estos enlaces:

http://webbyit.blogspot.no/2011/03/managing-jinternalframes-within.html
http://www.coderanch.com/t/341067/GUI/java/Making-JInternalFrame-Modal
http://stackoverflow.com/questions/16422939/jinternalframe-as-modal
http://stackoverflow.com/questions/16590399/modal-jinternalframe-that-returns-data-to-caller

Esperemos que puedas resolverlo !
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

No mover Frame

Publicado por undertaker (61 intervenciones) el 14/09/2013 06:44:27
ok compañero gracias, he logrado dejar un internalframe de una forma "modal"

Primera Jframe esta con el desktoppanel: JPrincipal
Segunda ventana es JInternalframe esta agregada a desktoppanel : JPrimeraInterna
Tercera ventana es jinternalframe : JSegundaInternal

Para esto uso netbeans

JPrimeraInternal : Boton para abrir ventana

1
2
3
4
5
6
7
8
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
        JSegundaInternaljf = new JSegundaInternal();
        JPrincipal.escritorio.add(jf); //panel desktop
        jf.setVisible(true);
 //si deseas no pasar al desktoppanel una ves abierto la ventana       //JPrincipal.escritorio.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));       
        this.panelinterno.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        JPrincipal.escritorio.setVisible(true);
    }

JSegundaInternal, esto es para el momento de cerrar la ventana o tb cuando debas agregar,aceptar,cancelar y pasar a la ventana anterior

1
2
3
4
private void formInternalFrameClosed(javax.swing.event.InternalFrameEvent evt) {
       JPrimeraInterna.panelinterno.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
        this.setVisible(false);
    }

Lo que hace es que el cursor del mouse tome como que estubiera cargando, asi no accede a la ventana anterior, es la solucion mas simple que pude hayar.
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

No mover Frame

Publicado por undertaker (61 intervenciones) el 14/09/2013 18:43:35
Ahora tengo una duda en como hacer una condicion de que jSegunda internal esta abierta
para poder cerrar la ventana.
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

No mover Frame

Publicado por Octavio Javier (74 intervenciones) el 14/09/2013 20:07:06
MMMMMmmmm

intenta preguntando si el JinternalFrame isVisible:

http://www.java2s.com/Code/JavaAPI/javax.swing/JInternalFrameisVisible.htm


segun tu cod. sería:

if (JSegundaInternaljf.isVisible()){
//haces lo que deseas si esta visible
}

Creo que eso funcionaría, luego me cuentas
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

No mover Frame

Publicado por undertaker (61 intervenciones) el 15/09/2013 02:47:17
gracias me resulto con isvisible
eso si hay q instanciar antes el jframe
saludos y 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

No mover Frame

Publicado por Octavio Javier (74 intervenciones) el 15/09/2013 03:29:22
Me alegro mucho amigo, costo pero parece que haz podido resolver el problema.

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

CONSULTA

Publicado por JOSE (1 intervención) el 27/02/2016 14:05:47
estimado, consulta q es el panel interno

this.panelinterno.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
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