Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Cargar Imagen

Saludos, he visto todos los tutos de la web y no logro cargar una imagen en un JPanel usando el JFileChooser, los codigos me corren pero nada no muestra nada, estoy desesperado era algo que se me hacia muy facil en delphi, c#, y cuanto lenguaje exista alguna explicacion o codigo que me ayude porfavor, tengo jdk 1.8 en windows 8 64bit

junio 27, 2014 | Unregistered Commenterkjava

diculpen el comentario de que se me hacia facil en otros lenguajes, no tiene nada que ver con el eterno dilema cual lenguaje es mejor, solo que estoy iniciando en java y tengo mas experiencia en otros... Gracias por su comprencion y espero ayuda

junio 27, 2014 | Unregistered Commenterkjava

En esta página se responde a la cuestión sobre como cargar una imagen en un JPanel:
http://www.javahispano.org/java-se/?currentPage=2

Y en esta otra se explica el funcionamiento de JFileChooser:

http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html

Google: java load image in JPanel -> 111.000 resultados
Google: java load image in JPanel using jfilechooser -> 74.500 resultados

¡Poco has buscado para no haber encontrado nada que funcione!
Tampoco has publicado tu código, para ver dónde puede estar el problema que tienes.

junio 27, 2014 | Registered Commenterchoces

Que codigos "te corren"? Nos puedes poner un ejemplo simple y que compile de como lo estas intentando hacer? quizas sobreescribiendo el paintComponent? con un ImageIcon?

Un saludo

junio 27, 2014 | Unregistered CommenterUnoPorAhi

Cross-posting!

junio 27, 2014 | Unregistered CommenterUnoPorAhi

saludos, amigo choces lo obvio es que hice esa misma busqueda que me promones en el google y me salieron la misma cantidad de resultados y probe unos primeros cuatro y nada si que me dije soy yo o algo en mi maquina, por eso mi pregunta revise los url donde se muestra ejemplos este es mi codigo

private void BBuscarImageActionPerformed(java.awt.event.ActionEvent evt) {
FileFilter filtro = new FileNameExtensionFilter("Imagenes *.jpg", "jpg");
JFileChooser browserfile = new JFileChooser();
browserfile.setFileFilter(filtro);
int flag = browserfile.showOpenDialog(this);
if (flag == JFileChooser.APPROVE_OPTION)
{
CargarImagen Img = new CargarImagen(browserfile.getSelectedFile().getAbsolutePath());

VisorImg.add(Img);

}


public class CargarImagen extends JPanel {

public Image Imagen;

public CargarImagen( String ruta) {

Image Imagen = new ImageIcon(getClass().getResource(ruta)).getImage();
}

public void paintcomponent( Graphics g)
{
super.paintComponents(g);
g.drawImage(Imagen, 0, 0, getWidth(), getHeight(), this);

}

}

donde VisorImg es un JPanel que tengo en un JFrame con otros componentes, al grano, se carga al JFrame ya definido con todo los demas objetos y doy clic en el boton que uso para activar el JFileChooser busco la imagen y nada, en algunos codigos no me tira error en este que creo es el mas sencillo, si me salta lo siguiente
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.(ImageIcon.java:217)
at imagenesapp.CargarImagen.(CargarImagen.java:24)
at imagenesapp.VisorImage.BBuscarImageActionPerformed(VisorImage.java:165)
at imagenesapp.VisorImage.access$100(VisorImage.java:23)
at imagenesapp.VisorImage$2.actionPerformed(VisorImage.java:77)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6527)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6292)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4883)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4705)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2739)
at java.awt.Component.dispatchEvent(Component.java:4705)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:719)
at java.awt.EventQueue$4.run(EventQueue.java:717)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:716)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


el programa sigue trabajando solo que no hace nada.

agradecido desde ya, y disculpan a los neofitos q vamos aprendiendo :)

junio 27, 2014 | Unregistered Commenterkjava

Image Imagen = new ImageIcon(getClass().getResource(ruta)).getImage();

Se usa para cargar una imagen dentro de un .jar, no desde el sistema de archivos.
Por eso no te funciona.
Lo que debes usar es ImageIO: http://docs.oracle.com/javase/7/docs/api/javax/imageio/ImageIO.html

Aquí tienes un buen tutorial sobre el uso de ImageIO:

http://javarevisited.blogspot.com.es/2011/12/read-write-image-in-java-example.html

junio 28, 2014 | Registered Commenterchoces

gracias x la aclaracion amigo revisare los enlaces

junio 29, 2014 | Unregistered Commenterkjava