JPanel con Imagen de Fondo auto-ajustado a la ventana
Bueno yo les tengo un modo de añadir imagen de fondo a un JPanel y si dan al JPanel la propiedad de Tamaño horizontal redefinible True y Tamaño vertical redefinible True, Verán como se adpata la imagen al JFrame que contiene al JPanel.
1.- (opcional) Dentro del JPanel añadido al JFrame ( por que no también JInternalFrame) dale click derecho y ve a "Personalizar Código".
2.- Código:
BgBorder borde = new BgBorder(ImageIO.read("/recursos/miImagenFondo.png")) );
jPanel1.setBorder(borde);
} catch (IOException e) {
System.out.println(e.getMessage());
}
.......Y la clase mágica que hace el resto por nosotros....
public class BgBorder implements Border {
private BufferedImage mImagen = null;
public BgBorder(BufferedImage pImagen) {
mImagen = pImagen;
}
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
if (mImagen != null) {
g.drawImage(mImagen, 0, 0, width, height, null);
}
}
public Insets getBorderInsets(Component c) {
return new Insets(0, 0, 0, 0);
}
public boolean isBorderOpaque() {
return true;
}
}
No recuerdo de donde lo leí por la web pero me ha servido mucho para mejorar mis interfaces.
Un Saludo!
Para el amigo que pidió la muestra, ajajaja en archivo adjuntos dejé las imágenes del producto final.
Adjunto | Tamaño |
---|---|
dialogModal.jpg | 12.31 KB |
JInternalFrame.jpg | 73.06 KB |
- josse173's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
excelete, me
excelete, me agrado..
http://javahelp.redsaltillo.net
Esta super. Yo he intentado
Esta super. Yo he intentado dibujar la imagen el algun panel, pero a veces tenía dificultades poniendo componentes encima. Lo que sugieres dibujando en el borde esta muy padre.
Podrías poner un screenshot de como se ve?