Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 25-jul-2008, 11:54   #1 (permalink)
cuncanchun ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 9
imagen en GridLayout

hola:

Yo se que para cambiar el color de fonde de un GridLayout se hace asi:

p2=new JPanel(new GridLayout(5,1,5,5)); //aqui lo creo
p2.setBackground(Color.red); //le doy color

pero lo que yo quiero es en ves de un color una imagen de fondo.


como lo puedo hacer??
cuncanchun está desconectado   Responder Citando
Antiguo 25-jul-2008, 12:01   #2 (permalink)
vdpazmino ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 119
Respuesta: imagen en GridLayout

Si quieres poner una imagen de fondo podrias hacer esto: crear una clase que extienda de jpanel, luego sobreescribes el metodo paintComponent(Graphics g)

Código PHP:
paintComponent(Graphics g){
     
super.paintComponent();
     
g.drawImage(Imagenxy);

salu2

Última edición por vdpazmino; 25-jul-2008 a las 12:11.
vdpazmino está desconectado   Responder Citando
Antiguo 25-jul-2008, 13:32   #3 (permalink)
cuncanchun ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 9
Respuesta: imagen en GridLayout

No entiendo muy bien:

como quedaria dicha clase?
cuncanchun está desconectado   Responder Citando
Antiguo 25-jul-2008, 18:49   #4 (permalink)
vdpazmino ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2007
Mensajes: 119
Respuesta: imagen en GridLayout

Te pongo un ejemplo mas completo

Código PHP:
public class MainDesktopPane extends JPane{

    private 
Image image;
    
    public 
MainDesktopPane() {
        
super();
        
image = new ImageIcon(getClass().getResource("/images/fondo.jpg")).getImage();
    }

    @
Override
    
protected void paintComponent(Graphics g) {
        
super.paintComponent(g);
        
int h = (int)image.getHeight(null)/2;
        
int w = (int)(image.getWidth(null)/2);
        
int x = (int)getWidth()/w;
        
int y = (int)getHeight()/h;
        
g.drawImage(imagexynull);
    }

La clase lo que hace es colocar la imagen fondo.jpg como fondo en el jpanel, lo coloca en el centro del jpanel

espero que te ayude

salu2
vdpazmino está desconectado   Responder Citando
Antiguo 25-jul-2008, 20:54   #5 (permalink)
djagu_26 ha deshabilitado el karma
 
Avatar de djagu_26
 
Fecha de Ingreso: enero-2008
Mensajes: 379
Enviar un mensaje por MSN a djagu_26
Respuesta: imagen en GridLayout

Hola otra forma es setearle un borde que tenga la imagen en mi ejemplo tengo un paquete en mi proyecto llamado Icons donde pongo todas las imagenes, asi cuando genero el jar van embebidas dentro te dejo el codigo y cualquier cosa me preguntas

saludos

Código:
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Insets;
import javax.swing.ImageIcon;
import javax.swing.border.Border;

/**
 *
 * @author agustin
 */
public class BorderGrid implements Border{

      private Image image = new ImageIcon(getClass().getResource("/Icons/scmfondo.png")).getImage();

       public BorderGrid () {
       }
    
       public Insets getBorderInsets(Component c) {
           return new Insets(0,0,0,0);
       }
    
       public boolean isBorderOpaque() {
           return true;
       }

       public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
           int x0 = x + (width-image.getWidth(null))/2;
           int y0 = y + (height-image.getHeight(null))/2;
           g.drawImage(image, x0, y0, null);
    } 

}
__________________
"La magia no existe, la programacion si"

Solo hay 10 clases de personas: las que entienden los numeros binarios y las que no.
djagu_26 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:52.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93