Agregar imagen a JPanel

Iniciado por gasoft, 30 Octubre 2009, 04:21 AM

0 Miembros y 1 Visitante están viendo este tema.

gasoft

Hola,

Tengo un pequeño problema en el tratado de imagenes en java, deseo agregar una imagen en una clase para que dicha imagen sea utilizada en distintos JFrame. Mi primer problema esta al hacer visible la imagen al menos en un Jframe.


Adjunto  el  codigo ... la verdad no se como hacer la imagen  visible...

Espero me puedan ayudar :D

// Importo librerias necesarias para el tratado de imagenes.
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.Image;

// Declaro un objeto de tipo Imagen el cual contentra la ubicacion de la imagen (bueno eso creo :p)
Image miImagen = (Toolkit.getDefaultToolkit()).getImage("/img/precaucion.png");
boolean flag = false;

//Evento de Boton para mostrar la imagen.
private void BotonMostarImagenActionPerformed(java.awt.event.ActionEvent evt) {                                         
        flag = true;
        repaint();
       
    }

// // Se sobrecarga el método para pintar la imagen
public void paint(Graphics g)
{
if (flag)
g.drawImage(miImagen, 100, 100, null);
super.paint(g);
}



gracias ,

Leyer

#1
utiliza el paintComponent

Código (java) [Seleccionar]
public void paintComponent(Graphics g)
{
if (flag)

g.drawImage(miImagen,0, 0, getWidth(), getHeight(), null); 
setOpaque(false);
super.paintComponents(g);
}



Saludos

gasoft


L-EYER , Gracias por tu respuesta


Entonces que llamo en el evento del boton ?



//Evento de Boton para mostrar la imagen.
private void BotonMostarImagenActionPerformed(java.awt.event.ActionEvent evt) {                                         
        ???????
       
    }



jeje gracias por tu ayuda XD

Leyer

ubieras dicho que querias hacer visible la imagen por la action del button al principio :xD pero bueno eso quieres eso solo deberias ponerle asi

void MostarImagen(boolean b) {
      if(b){
         setVisible(false);
      }else{
         setVisible(true);
      }
       
    }

Saludos

gasoft

que pena con tigoooo pero es que la verdad no entiendo u_u'  :P

void MostarImagen(boolean b) {
     if(b){
        setVisible(false);
     }else{
        setVisible(true);
     }
     
   }


se supone que el setVisible ... haria visible q ? el parametro que recibe es el flag del codigo que adjunte? ...


:-[ Espero no te incomode mi preguntadera..


es decir no puedo hacer algo como


//Evento de Boton para mostrar la imagen.
private void BotonMostarImagenActionPerformed(java.awt.event.ActionEvent evt) {                                        
       paintComponent(miImagen);

     
   }



ó

//Evento de Boton para mostrar la imagen.
private void BotonMostarImagenActionPerformed(java.awt.event.ActionEvent evt) {                                        
       miImagen.setVisible(true) ;
     
   }