Otro blog más de WordPress
Edisoncor Weblog » Page 'Imagen en un JPanel'

Imagen en un JPanel

Hola a todos el dia de hoy voy a crear un jpanel al cual lo podemos personalizar con una imagen, y luego sobre este panel tu puedes agregar los componentes swing que desees, para esto vamos a sobreescribir el metodo paintComponent, en donde se define como se va a presentar la imagen, cabe señalar que la imagen puede ser de tipo Image o Icon

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

/** * * @author Edisoncor */

public class JEImagePanel extends JPanel{

 private Image image=null;
    private Icon icon;

   /** Creates a new instance of JEImagePanel */
    public JEImagePanel() {
}

@Override
   protected void paintComponent(Graphics g) {
Graphics2D g2 =(Graphics2D) g;
       if(getImage()!=null)
g2.drawImage(getImage(), 0, 0, getWidth(), getHeight(), null);
}

public Image getImage() {        
       return image;
}

public void setImage(Image image) {
       this.image = image;
}

public Icon getIcon() {        
       return icon;
}

public void setIcon(Icon icon){        
      this.icon=icon;
setImage(((ImageIcon)icon).getImage());
repaint();
}
}
Like this post? Spread the word!
delicious digg google
stumbleupon technorati Yahoo!

3 comments to “Imagen en un JPanel”

  1. muchas gracias este programa me funciono aunque no fuera para mi el codigo

  2. hola

    soy aprendiz en java y quiero llegar a programar java avanzado

    me ha gustado los ejemplos que pones aqui

    solo que como hago para que funcionen

    me pide un metodo main ???

    como hago -> disculpame pero soy un poco nuevo

  3. Hola Oscar puedes agregar elk siguiente metodo

    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    JFrame frame =new JFrame();
    JEImagePanel panel = new JEImagePanel();
    //aqui puedes establecer la imagen a utilizar
    panel.setIcon(new Icon());
    frame.setContentPane(panel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
    }
    });
    }

    O si utilizas Netbeans, crea un nuevo JFrame y lo puedes arrastrar desde el navegador de proyectos a la clase y para poder poner la imagen vas al metodo Icon el la ventana de propiedades

Leave a comment

XHTML - You can use:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">

Top of page / Subscribe to new Entries (RSS)