Buenas tardes, He estado tratando de ponerle una imagen de fondo a un MDI, tras realizar una búsqueda encontré e implementé el siguiente código, pero no entiendo por qué me arroja un NullPointerException, Así que agradezco a quien me pueda orientar con este código...
Este código es del javaclass que creé para traer la imagen :
Código Java:
Ver originalpackage Formularios;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.border.Border;
public class FondoMDI
implements Border { public FondoMDI(){
try {
//se obtiene la imagen
URL url
= new URL(getClass
().
getResource("H://Bases de datos II/LogoBD.png").
toString()); fondo = ImageIO.read(url);
Logger.getLogger(FondoMDI.class.getName()).log(Level.SEVERE, null, ex);
}
}
// se sobreescriben metodos propios de Border
@Override
public void paintBorder
(Component c,
Graphics g,
int x,
int y,
int width,
int height
){ //se dibuja la imagen de fondo en el centro del contenedor
//cada que se redimensione el contenedor, la imagen automaticamente se posiciona en el centro
g.drawImage(fondo, (x + (width - fondo.getWidth())/2),(y + (height - fondo.getHeight())/2), null);
}
@Override
}
@Override
public boolean isBorderOpaque(){
return true;
}
}
...
Y este es el fragmento de código donde se llama la clase, el MDI funcionaba perfecto hasta añadir esta línea:
Código Java:
Ver originalpublic class MDI_Principal
extends javax.
swing.
JFrame {
public MDI_Principal() {
initComponents();
desktopPane.setBorder(new FondoMDI()); // De acá proviene el error
}
---
Y este es el conjunto de errores que me genera
Código Java:
Ver original at Formularios.FondoMDI.<init>(FondoMDI.java:22)
at Formularios.MDI_Principal.<init>(MDI_Principal.java:19)
at Formularios.MDI_Principal$11.run(MDI_Principal.java:281)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Muchas gracias!