Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2010, 00:16
Avatar de francopai
francopai
 
Fecha de Ingreso: agosto-2008
Mensajes: 42
Antigüedad: 16 años, 2 meses
Puntos: 2
JDesktopPane con imagen de fondo label

Hola a todos, mi problema es el siguiente: quiero colocar en mi JDektopPane un fondo, lo cual, segun lei en unas busquedas de google, lo puedo hacer "poniendo encima un JLabel", que por cierto me quedó un codigo como este:
Código:
private void formWindowOpened(java.awt.event.WindowEvent evt) {
   JLabel lbl_Fondo = new JLabel();
   dp_Escritorio.add(lbl_Fondo);
   lbl_Fondo.setSize(dp_Escritorio.getSize());
   ImageIcon imagenFondo = new ImageIcon(GUI_Principal.class.getResource("Wallpaper.jpg"));
   ImageIcon imagenFondoRedimensionado = new ImageIcon(imagenFondo.getImage().getScaledInstance(lbl_Fondo.getWidth(),   lbl_Fondo.getHeight(), java.awt.Image.SCALE_SMOOTH));
   lbl_Fondo.setIcon(imagenFondoRedimensionado);
}
Aclaracion: dp_Escritorio es la variable tipo JDesktopPane ya inicializada y agragada al JFrame


Todo parece q funciona bien, pero entre tanto probar, me di cuenta que algunas veces de iniciar la aplicacion una y otra vez, algunas veces no se redimensiona y otras si, muy raro realmente. Luego de llenar de breakpoints mi proyecto, al parecer no actualiza el tamaño real del JDektop y por eso le asigna un valor erroneo.
Tengo q aclarar que el JFrame que contiene mi JDesktopPane aparece inicialmente con un tamaño fijo y luego se maximiza con setExtendedState(MAXIMIZED_BOTH); en el constructor del JFrame.

Nose porque este comportamiento, ya probé mil soluciones posibles y sigue haciendo lo mismo, algunas veces se redimensiona bien la imagen y otras queda con el tamaño "viejo" y el JDektopPAne maximizado, osea queda la imagen muy descolocada.
Un dato curioso que noté, esto solo ocurre en Linux, en Windows probé iniciar muchisimas veces, y siempre lo redimensiona bien.
Pienso que es algo del Swing, pero ya nose mas que probar, cualquier idea o ayuda será muy agradecida.
Un saludo a todos!

Última edición por francopai; 24/07/2010 a las 00:25