Foro de elhacker.net

Programación => Java => Mensaje iniciado por: gasoft en 30 Octubre 2009, 04:21 am



Título: Agregar imagen a JPanel
Publicado por: gasoft en 30 Octubre 2009, 04:21 am
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

Código:
// 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 ,


Título: Re: Agregar imagen a JPanel
Publicado por: Leyer en 30 Octubre 2009, 05:18 am
utiliza el paintComponent

Código
  1. public void paintComponent(Graphics g)
  2. {
  3. if (flag)
  4.  
  5. g.drawImage(miImagen,0, 0, getWidth(), getHeight(), null);  
  6. setOpaque(false);
  7. super.paintComponents(g);
  8. }


Saludos


Título: Re: Agregar imagen a JPanel
Publicado por: gasoft en 30 Octubre 2009, 05:55 am

 L-EYER , Gracias por tu respuesta


Entonces que llamo en el evento del boton ?

Código:

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


jeje gracias por tu ayuda XD


Título: Re: Agregar imagen a JPanel
Publicado por: Leyer en 30 Octubre 2009, 06:05 am
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


Título: Re: Agregar imagen a JPanel
Publicado por: gasoft en 30 Octubre 2009, 06:47 am
que pena con tigoooo pero es que la verdad no entiendo u_u'  :P

Código:
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


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

      
    }


ó

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