Saltar al contenido

¿Cómo configurar la imagen de fondo en Java?

Solución:

La respuesta variará ligeramente dependiendo de si la aplicación o el subprograma utilizan AWT o Swing.

(Básicamente, las clases que comienzan con J tal como JApplet y JFrame son Swing, y Applet y Frame son AWT.)

En cualquier caso, los pasos básicos serían:

  1. Dibujar o cargar una imagen en un Image objeto.
  2. Dibuja la imagen de fondo en el evento de pintura del Component desea dibujar el fondo.

Paso 1. La carga de la imagen puede realizarse mediante el Toolkit clase o por el ImageIO clase.

los Toolkit.createImage El método se puede utilizar para cargar un Image desde una ubicación especificada en un String:

Image img = Toolkit.getDefaultToolkit().createImage("background.jpg");

Similar, ImageIO puede ser usado:

Image img = ImageIO.read(new File("background.jpg");

Paso 2. El método de pintura para el Component que debería obtener el fondo, deberá anularse y pintar el Image sobre el componente.

Para AWT, el método para anular es el paint método, y utilice el drawImage método del Graphics objeto que se entrega en el paint método:

public void paint(Graphics g)
{
    // Draw the previously loaded image to Component.
    g.drawImage(img, 0, 0, null);

    // Draw sprites, and other things.
    // ....
}

Para Swing, el método para anular es el paintComponent método del JComponenty dibuja el Image al igual que con lo que se hizo en AWT.

public void paintComponent(Graphics g)
{
    // Draw the previously loaded image to Component.
    g.drawImage(img, 0, 0, null);

    // Draw sprites, and other things.
    // ....
}

Ejemplo de componente simple

Aquí está un Panel que carga un archivo de imagen cuando se crea una instancia y dibuja esa imagen sobre sí mismo:

class BackgroundPanel extends Panel
{
    // The Image to store the background image in.
    Image img;
    public BackgroundPanel()
    {
        // Loads the background image and stores in img object.
        img = Toolkit.getDefaultToolkit().createImage("background.jpg");
    }

    public void paint(Graphics g)
    {
        // Draws the img to the BackgroundPanel.
        g.drawImage(img, 0, 0, null);
    }
}

Para obtener más información sobre la pintura:

  • Pintura en AWT y Swing
  • Lección: Realizar pintura personalizada de los tutoriales de Java puede ser de ayuda.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *