Foros del Web » Programación para mayores de 30 ;) » Java »

Imagen de fondo en Jpanel

Estas en el tema de Imagen de fondo en Jpanel en el foro de Java en Foros del Web. Hola comunidad, tengo una clase que controla los cuadros de un tablero en ajedrez, esto lo hace con jpanels, el problema es que nesesito ponerle ...
  #1 (permalink)  
Antiguo 22/02/2009, 20:23
Avatar de javico40  
Fecha de Ingreso: agosto-2008
Ubicación: Evergreen Terrace 123
Mensajes: 288
Antigüedad: 15 años, 8 meses
Puntos: 9
Imagen de fondo en Jpanel

Hola comunidad, tengo una clase que controla los cuadros de un tablero en ajedrez, esto lo hace con jpanels, el problema es que nesesito ponerle a esos
jpanel una imagen de fondo y no un color, miren el constructor de la clase, ayudaaa por favor,:

Código:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


final class Square extends JPanel {

    final private int x, y;
    final private BoardView bv;
    final private JLabel jl;
    private boolean mouseIn = false;

     private Image imgFondo;
    
    Square(int y, int x, BoardView b) {
        super();
        this.x = x;
        this.y = y;
        bv = b;
        if (((x + y) % 2) == 0){
            //setBackground(Color.WHITE);
         
AQUI PONER UNA IMAGEN EN VEZ DE BACKGOUND COLOR 

          imgFondo = new ImageIcon(getClass().getResource("/imagenes/cuaderno.png")).getImage();
            
        }
        else{

            //setBackground(Color.gray);

AQUI PONER UNA IMAGEN EN VEZ DE BACKGOUND COLOR

            imgFondo = new ImageIcon(getClass().getResource("/imagenes/cuaderno.png")).getImage();

        }
        setPreferredSize(new Dimension(42, 42));
        jl = new JLabel();
        jl.setPreferredSize(new Dimension(32, 32));
        add(jl);
        addMouseListener(new SquareMouseListener());
    }

    
    void setIcon(Icon i) {
        jl.setIcon(i);
    }
    
    public void paint(Graphics g) {
        super.paint(g);
        if (mouseIn) {
            g.setColor(Color.blue);
            g.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
        }
    }

    protected void paintComponent(Graphics g) {
  g.drawImage(imgFondo,0,0,null);
 }
    
    class SquareMouseListener extends MouseAdapter {
        public void mouseEntered(MouseEvent e) {
            mouseIn = true;
            repaint();
        }
        
        public void mouseExited(MouseEvent e) {
            mouseIn = false;
            repaint();
        }
        
        public void mouseClicked(MouseEvent e) {
            bv.selected(y, x);
        }
    }
}
  #2 (permalink)  
Antiguo 23/02/2009, 11:42
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Imagen de fondo en Jpanel

Hola:

Aquí tienes un ejemplo de panel con imágen de fondo. Aunque el artículo habla de applets, el panel está hecho con JPanel.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 23/02/2009, 13:10
 
Fecha de Ingreso: febrero-2009
Mensajes: 52
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Imagen de fondo en Jpanel

Hola mira nose si esto te sirva pero a mi me ayudo mucho http:\\ cafelojano.wordpress.com/2007/07/20/jframe-con-imagen-de-fondo
Pone una imagen en el Jpanel y jala el panel con un jframe espero te ayude

Nota: Disculpen si rompo alguna regla del foro soy nuevo en estoy y ando aprendiendo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:43.