martes, 2 de febrero de 2016

Ventana con imagen de fondo y botones en Java con Bluej

Hace unas semanas publicamos este post para poner una imagen de fondo a una ventana en Java con Bluej. Hoy vamos a ir un paso más allá y vamos a añadir dos botones encima de la imagen para posteriormente dotarlos de funciones en un post siguiente.

El código que vamos a utilizar es el del post mencionado antes, lo único que
le añadiremos es unas de líneas de código:

private JButton boton1, boton2;

boton1=new JButton("Botón 1");
boton2=new JButton("Botón 2");
        
boton1.setSize(150,100);
boton2.setSize(150,100);
        
boton1.setLocation(50,75);
boton2.setLocation(250,75);

vent.add(boton1);
vent.add(boton2);

Estás líneas nos permiten crear dos botones del tamaño fijado en setSize, en la localización que hemos elegido en setLocation y finalmente los hemos añadido a la ventana para que podamos verlos con add.

El resultado final es el siguiente:

ventana con imagen de fondo y botones
Ventana con imagen de fondo y botones

Cómo veis es la misma ventana del post que enlazamos al principio solo que ahora tiene dos botones que le acabamos de añadir al poner en el código las líneas que anteriormente hemos dicho.

El código fuente completo queda de la siguiente forma:

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

public class VentanaConFondo 
{
    private JFrame vent;
    private JButton boton1, boton2;

    
    public VentanaConFondo()
    {
        crearVentana();
    }


    private void crearVentana()
    {

        boton1=new JButton("Botón 1");
        boton2=new JButton("Botón 2");
        
        boton1.setSize(150,100);
        boton2.setSize(150,100);
        
        boton1.setLocation(50,75);
        boton2.setLocation(250,75);
        
        
        
        vent = new JFrame ("JuegoSoftware.com");
        vent.setSize(900,592);
        vent.setContentPane(new JLabel(new ImageIcon("Imagenes/Img1.jpg")));
        vent.setLocationRelativeTo(null);
        vent.setLayout(null);
        vent.setResizable(false);
        vent.setVisible(true);
        
        
        
        vent.setDefaultCloseOperation(vent.EXIT_ON_CLOSE);
        
        vent.add(boton1);
        vent.add(boton2);
    }


Recuerdo que en la carpeta del proyecto debemos tener una carpeta de nombre Imagenes que contenga una imagen jpg de nombre Img1, que será el fondo de la ventana.

Dentro de poco publicaremos un nuevo post de esta ventana con imagen de fondo y botones en el que le añadiremos funciones a los botones.

Cualquier cosa no dudéis en ponerla en los comentarios.

1 comentario:

  1. me lanza un error en vent.add(boton1);vent.add(boton2);
    cannot make a static reference to the non static field boton1

    ResponderEliminar