Java - Imagen en un JFrame

 
Vista:

Imagen en un JFrame

Publicado por Brian (33 intervenciones) el 11/11/2007 01:58:27
Hola necesito ayuda tengo que poner una imagen en un JFrame lo que pasa es que he encontrado informacion en internet pero no entiendo muy bien xq habla de un paintComponent y no entiendo muy bien si alguien tiene un codigo que me pueda ayudar lo agradeceria.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imagen en un JFrame

Publicado por Antonio Diéguez (42 intervenciones) el 11/11/2007 03:41:23
hola chiko bueno aki hay un ejemplo, suponiendo que vamos a usar el panel principal del frame y está con border layout esto sería como para ponerlo al medio. Puede que haya código innecesario o algo así pero no importa ahi ves.

BufferedImage logo = javax.imageio.ImageIO.read (new File ("logo.jpg")); // falta try
PanelLogo panelLogo = new PanelLogo (frame.getContentPane(), logo);
frame.getContentPane().add (panelLogo, BorderLayout.CENTER);

-----------------------------
import java.awt.*;
import javax.swing.*;

public class PanelLogo extends JPanel
{

JPanel padre;
BufferedImage logo;

public PanelLogo(JPanel padre, BufferedImage logo)
{
super();
this.padre = padre;
this.logo = logo;
int ancho = 1, alto = 1;
if (logo!=null)
{
ancho = logo.getWidth ();
alto = logo.getHeight ();
}
Dimension porte = padre.getSize();
setBounds ((porte.width-ancho)/2, (porte.height-alto)/2, ancho, alto);
}

public void paintComponent (Graphics g)
{
Dimension porte = padre.getSize();
int ancho = 1, alto = 1;
if (logo!=null)
{
ancho = logo.getWidth ();
alto = logo.getHeight ();
}
setBounds ((porte.width-ancho)/2, (porte.height-alto)/2, ancho, alto);
if (logo!=null)
{ ((Graphics2D)g).drawImage (logo, null, 0, 0); }
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar