Error con imagen
Amigos estoy cargando una imagen en un label con Netbeans y me da este error o exception:
Updating property file: D:\SEAP\usuario\build\built-jar.properties
Compiling 1 source file to D:\SEAP\usuario\build\classes
compile-single:
run-single:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.(ImageIcon.java:138)
at usuario.usuario.initComponents(usuario.java:39)
at usuario.usuario.(usuario.java:22)
at usuario.usuario$1.run(usuario.java:77)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
BUILD SUCCESSFUL (total time: 2 seconds)
Espero sus comentarios
- Inicie sesión o regístrese para enviar comentarios
Ve esta linea:
Ve esta linea: usuario.usuario.initComponents(usuario.java:39)
Lo más probable es que estes intentando cargar una imagen pero te está devolviendo null porque no la encuentra.
Revisa porque no la está encontrando.
Dejo el código
Mira esta es la línea:
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/BANNER.png"))); // NOI18N
Ahora la imagen la cargué en propiedades, ICON y ahí importé la imagen a una carpeta imágenes... hice tal vez mal este proceso???
La imagen me muestra en el label pero no ejecuta mi aplicación... Por tu ayuda gracias
Te dejo algo viejo
Te dejo algo viejo pero te puede servir.
import java.awt.*;
import java.net.*;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JFrame;
import javax.swing.Timer;
public class Presentacion1 extends javax.swing.JFrame
{
public Presentacion1()
{
URL triURL= Examen.class.getResource("Imagenes\\pi.jpg");
n1=new ImageIcon(triURL);
imagen1=new JLabel();
imagen1.setIcon(n1);
ventana1 = new JFrame("Bienvenido");
ventana1.setLayout(null);
imagen1.setBounds(0,0,500,400);
ventana1.setBounds(200,120,468,370);
ventana1.add(imagen1);
ventana1.setVisible(true);
t = new Timer(5000, tarea_a_realizar);
t.start();
}
ActionListener tarea_a_realizar = new ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
ventana1.setVisible(false);
t.stop();
}
};
private JFrame ventana1;//componentes inicializadas
private JLabel imagen1;
private ImageIcon n1;
private Panel panel1,panel2;
private Timer t;
}
Saludos.
PD. La imagen tiene que estar en el mismo directorio del .class pero las imagenes dentro de una carpeta en este caso Imagenes.
Consulta sobre esta línea
Tengo una consulta, sobre esta línea de código:
URL triURL= Examen.class.getResource("Imagenes\\pi.jpg");
Que es Examen??? leí en otro artículo y dice que es cualquier clase, pero que clase???
Saludos
LC
Consulta sobre este código
Estoy cargando una imagen con este código:
ImageIcon icono = new ImageIcon("/BANNER.png");
jLabel1.setIcon(icono);
No me carga la imagen en el Label, pero si pongo esta línea:
ImageIcon icono = new ImageIcon("C:/imagenes/BANNER.png");
Me carga la imagen, pero no quiero que funcione así, ya que cuando cree el jar tengo que copiar la carpeta imagenes en el C: Y quiero que cuando genere el jar genere las imágnes y ya...
Por favor su ayuda, porque no me carga el primer código? dejo la dirección de mi apliación:
D:/SEAP/usuario/src/imagenes/BANNER.png
Saludos
LC
Otra pregunta
Estoy tratando de cambiar el color de fondo de un label con este código:
jLabel11.setBackground(Color.red);
y no funciona, no cambia el color, porque?
Hasta donde tengo entendido,
Hasta donde tengo entendido, el background de un JLabel es transparente, así que lo que tendrías que hacer es crear un JPanel, ponerle el color de fondo, y adherirle tu JLabel
ImagenIcon
Examen es el nombre de una clase.
Es por eso que dice Examen.class aqui te dejo un ejemplo no se si mas claro pero le vas a entender.
1.-Crea una Carpeta que se llame Imagenes
2.-Guarda una imagen con el nombre de "pi" con formato .jpg en la carpeta Imagenes.
3.-Creas tu archivo .class con este codigo:
import java.net.*;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JFrame;
public class Imagen extends javax.swing.JFrame
{
public static void main (String[] args) {
Imagen obj= new Imagen();
}
public Imagen()
{
URL triURL= Imagen.class.getResource("Imagenes\\pi.jpg");
n1=new ImageIcon(triURL);
imagen1=new JLabel();
imagen1.setIcon(n1);
ventana1 = new JFrame("Bienvenido");
ventana1.setLayout(null);
imagen1.setBounds(0,0,500,400);
ventana1.setBounds(200,120,468,370);
ventana1.add(imagen1);
ventana1.setVisible(true);
}
private JFrame ventana1;
private JLabel imagen1;
private ImageIcon n1;
}
4.- Guardas tu .class afuera de la carpeta imagenes y listo.
Saludos.
no se si es un poco tarde
no se si es un poco tarde para la pregunta que tenias sobre como cargar una imagen en un jLabel pero en fin :
creo que seria mejor que en lugar de
jLabel1.setIcon(icono);
hagas lo siguiente que es casi lo mismo ya que por lo que dices tu imagen esta dentro de una carpeta llamada imágenes que se encuentra dentro de
la carpeta de recursos >>D:/SEAP/usuario/src/imagenes/BANNER.pn
jLabel1.setIcon(icono);
espero aun te pueda servir
por si no es tarde
por si no es tarde para la pregunta de como cambiar el color de un jLabel si se puede hacer sin recurrir a un jPanel
lo que has hecho esta bien solo hace falta agregarle este pequeño codigo :
//pero con este código cambiamos eso
this.jLabel1.setBackground(Color.red);
espero te sirva