Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > imagen en un jframe

Hola buenas antes que nada soy novato en este mundo de java
lo que intento es poner una imagen de fondo a un jframe he leído por ahí que necesito sobre escribir el método Paint o paintComponet
ya lo he hecho esta es el método


@Override
public void paintComponent(Graphics g) {

Dimension tamanio = getSize();
ImageIcon imagenFondo = new ImageIcon(getClass().getResource("/imagenes/itvh.png"));
g.drawImage(imagenFondo.getImage(),0,0,tamanio.width, tamanio.height, null);
setOpaque(false);


super.paint(g); //To change body of generated methods, choose Tools | Templates.
}

luego dicen que hay que extender una clase de jframe y este es mi método

private void formWindowOpened(java.awt.event.WindowEvent evt) {

panel p = new panel();
this.add( p , BorderLayout.CENTER);
this.pack();
p.setVisible(true);

p.repaint();

}

el problema es que solo me muestra la pantalla pero sin la foto de fondo por que sera

julio 28, 2016 | Unregistered Commenterjoker

Sobreescribe el método paintComponent() en una clase que extienda a JPanel, crea una instancia de ella y agrégala al JFrame con el método setContentPane(). Además en el código del método no llames a super.paint(); y si agregas una llamada a super.paintComponent(), que sea al principio porque al final limpiará lo que esté dibujado en el panel ya que éso es lo que hace el método original.
Otras cosa, la variable imagenFondo mejor ponla como una variable de instancia o campo e inicialízala en el constructor.

julio 28, 2016 | Registered Commenterangelns

Te recomiendo este video

https://www.youtube.com/watch?v=GSOpEWnXrTY

julio 29, 2016 | Unregistered Commenterdjdimosa