Foros del Web » Programación para mayores de 30 ;) » Java »

Error al cargar imagen en JPanel usando JRadioButton

Estas en el tema de Error al cargar imagen en JPanel usando JRadioButton en el foro de Java en Foros del Web. Hola, tengo este problema desde la tarde, tengo 2 radio button, cuadrado y circulo, lo que quiero hacer es que a la hora de seleccionar ...
  #1 (permalink)  
Antiguo 07/06/2012, 23:02
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Pregunta Error al cargar imagen en JPanel usando JRadioButton

Hola, tengo este problema desde la tarde, tengo 2 radio button, cuadrado y circulo, lo que quiero hacer es que a la hora de seleccionar el de cuadrado se muestre una imagen de un cuadrado, y si toco el otro que se muestre un circulo y asi las veces que toque cada radio button pero solo me muestra una imagen cuando inicio la aplicacion y no me muestra las demas

Este es el codigo de los radio buttons

Código Javascript:
Ver original
  1. private void jRadioButton1MousePressed(java.awt.event.MouseEvent evt) {                                          
  2.         jButton1.setEnabled(true); //El boton se habilita
  3.         parametro_Figura=1;
  4.         jPanel1.setVisible(true);   //Se establece el JPanel en visible
  5.         Ruta="cuadrado.gif";        //ruta de la foto
  6.         CargarImagen imagen=new CargarImagen(165,155,Ruta);  //Creo el objeto donde cargo la foto
  7.         jPanel1.add(imagen);     //Agrego la foto al JPanel
  8.        
  9.     }                                          
  10.  
  11.     private void jRadioButton2MousePressed(java.awt.event.MouseEvent evt) {                                          
  12.         jButton1.setEnabled(true);
  13.         parametro_Figura=2;
  14.         jPanel1.setVisible(true);
  15.         Ruta="circulo.jpg";
  16.         CargarImagen imagen=new CargarImagen(165,155,Ruta);
  17.         jPanel1.add(imagen);
  18.     }

y esta el es codigo donde cargo la foto

package Tarea1;

Código Javascript:
Ver original
  1. import java.awt.Graphics;
  2. import javax.swing.ImageIcon;
  3.  
  4. public class CargarImagen extends javax.swing.JPanel {
  5.  
  6.     String Imagen;
  7.     public CargarImagen(int w, int h, String ruta)
  8.     {   Imagen=ruta;
  9.         this.setSize(w,h);
  10.     }
  11.  
  12.     @Override
  13.     public void paint(Graphics g){
  14.        ImageIcon imagenFondo = new ImageIcon(getClass().getResource(Imagen));
  15.        g.drawImage(imagenFondo.getImage(),0,0,getWidth(),getHeight(), null);
  16.         setOpaque(false);
  17.         super.paintComponent(g);
  18.     }
  19. }

Creo creo que el error esta en JPanel.add(Imagen), pero la verdad no estoy muy seguro

De antemano agradezco mucho la ayuda

Saludos
  #2 (permalink)  
Antiguo 08/06/2012, 08:11
Avatar de Lalounam  
Fecha de Ingreso: mayo-2012
Ubicación: México D.F.
Mensajes: 59
Antigüedad: 12 años
Puntos: 19
Respuesta: Error al cargar imagen en JPanel usando JRadioButton

Creo que nunca mandas a llamar al método paint(). Estás agregando al panel una instancia de tu clase CargarImagen y por supuesto lo permite porque ya que espera recibir Object, pero evidentemente no va a pintar la imagen en base a una instancia de esta manera a menos que llames al método.
  #3 (permalink)  
Antiguo 08/06/2012, 11:05
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Error al cargar imagen en JPanel usando JRadioButton

Cita:
Iniciado por Lalounam Ver Mensaje
Creo que nunca mandas a llamar al método paint(). Estás agregando al panel una instancia de tu clase CargarImagen y por supuesto lo permite porque ya que espera recibir Object, pero evidentemente no va a pintar la imagen en base a una instancia de esta manera a menos que llames al método.
Intente llamar al metodo paint, pero me da error, creo que hay que pasale algo como parametro de ahi, pero no se que
  #4 (permalink)  
Antiguo 08/06/2012, 13:19
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Error al cargar imagen en JPanel usando JRadioButton

Código Javascript:
Ver original
  1. private void jRadioButton1MousePressed(java.awt.event.MouseEvent evt) { * * * * * * * * * * * * * * * * * * * * *
  2. * * * * jButton1.setEnabled(true); //El boton se habilita
  3. * * * * parametro_Figura=1;
  4. * * * * jPanel1.setVisible(true); * //Se establece el JPanel en visible
  5.         jPanel1.removeAll():
  6.         jPanel1.repaint();
  7. * * * * Ruta="cuadrado.gif"; * * * *//ruta de la foto
  8. * * * * CargarImagen imagen=new CargarImagen(165,155,Ruta); *//Creo el objeto donde cargo la foto
  9. * * * * jPanel1.add(imagen); * * //Agrego la foto al JPanel
  10. * * * *
  11. * * } * * * * * * * * * * * * * * * * * * * * *
  12. *
  13. * * private void jRadioButton2MousePressed(java.awt.event.MouseEvent evt) { * * * * * * * * * * * * * * * * * * * * *
  14. * * * * jButton1.setEnabled(true);
  15. * * * * parametro_Figura=2;
  16. * * * * jPanel1.setVisible(true);
  17.         jPanel1.removeAll():
  18.         jPanel1.repaint();
  19. * * * * Ruta="circulo.jpg";
  20. * * * * CargarImagen imagen=new CargarImagen(165,155,Ruta);
  21. * * * * jPanel1.add(imagen);
  22. * * }

Habia que agregar removeAll() y repaint(), para que limpiara y repintara

Etiquetas: imagenes, jpanel, jradiobutton
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:26.