Buenas, tengo una aplicación con java swing y quiero que al maximizar se centre el jinternalframe dentro del jframe, el problema es que al navegar a otro jinternalframe cambio el setlocation pero no me modifica la localización por pantalla (si hago un print getlocation si que me muestra el cambio). Lo curioso es que si pongo un timer si que me lo mueve pero quiero que se vea nada más entrar en el jinternalframe y no que se vea como se mueve.
Este es el código que utilizo para centrar el jinternalframe:
Código PHP:
Dimension desktopSize = vMenuMain.getSize();
Dimension jInternalFrameSize = new Dimension(1024,768);
vMenuMain.setBackground(Color.WHITE);
Point point=new Point((desktopSize.width - jInternalFrameSize.width)/2, (desktopSize.height- jInternalFrameSize.height)/2);
vMenuMain.getContentPane().setLocation(point);
vMenuMain.getContentPane().setVisible(true);
vMenuMain.getContentPane().repaint();
vMenuMain es el jframe.
Edit: También he probado a ponerle la visibilidad al false antes del timer y cambiarlo a true después pero tampoco funciona.
Saludos!
Edit:
Ya lo resolví englobando todo lo que tenía en cada jinternalframe en un jpanel y añadiendo un método de escucha para saber cuando el usuario maximiza y minimiza la pantalla.
Saludos!