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();
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!