Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Componentes / JCDesktopPane: Imagen de fondo en MDI

JCDesktopPane: Imagen de fondo en MDI

Autor jc mouse sábado, febrero 4, 2012

Imagen de fondo MDI
JCDesktopPane es un componente swing para java que permite añadir una imagen de fondo en las aplicaciones del tipo MDI, esto lo puedes hacer mediante código o directamente desde el editor de Netbeans.

PROPIEDADES

Se le añadio la propiedad

setImagenDeFondo(Icon imagen): Coloca la imagen dentro el componente

getImagenDeFondo(): Retorna la imagen que esta dentro el componente

Por defecto trae una imagen de fondo.

INSTALACIÓN EN NETBEANS

Se instala como cualquier otro componente, al monento de instalar el componente en Netbeans, apareceran tres archivos:

  • JCDesktopPane
  • JCBorder
  • JCDesktopPaneBeanInfo

Solo debe agregarse el archivo JCDesktopPane.

Una vez instalado podras reconocer el componente en la Paleta de Netbeans por el icono

icono componente

Lo que se hace para que la imagen de fondo aparesca dentro del componente es reescribir la clase Border y añadir esta despues al componente JDesktopPane, solamente eso, el código en si, es bastante pequeño y te lo dejo a continuación.

CODIGO FUENTE

clase JCDesktopPane.java

package JCDesktopPane;

import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JDesktopPane;
/**
 * @web http://jc-mouse.blogspot.com/
 * @author Mouse
 */
public class JCDesktopPane extends JDesktopPane {

    private JCBorder jcborder = new JCBorder();
    private Icon icon;

    public JCDesktopPane()
    {
        this.setBorder( jcborder );
    }

    public void setImagenDeFondo(Icon imagen)
    {
        this.icon=imagen;
        jcborder.imagen(((ImageIcon)icon).getImage());
    }

    public Icon getImagenDeFondo()
    {
        return this.icon;
    }

}

Clase JCBorder.java

package JCDesktopPane;
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;
/**
 * @web https://www.jc-mouse.net/
 * @author Mouse
 */
public class JCBorder implements Border{

    private Image imagen_fondo;

    public JCBorder(){
       imagen_fondo = new ImageIcon(getClass().getResource("/ico/jcmouse.png")).getImage();
    }

    public void imagen(Image imagen)
    {
        this.imagen_fondo = imagen;
    }  

    public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
        if( imagen_fondo.getWidth(null) < width || imagen_fondo.getHeight(null) < height)
            g.drawImage(imagen_fondo, (x + (width - imagen_fondo.getWidth(null))/2),(y + (height - imagen_fondo.getHeight(null))/2), null);
    }

    public Insets getBorderInsets(Component c) {
        return new Insets(0,0,0,0);
    }

    public boolean isBorderOpaque() {
        return true;
    }

}

Si quieres utilizar el componente en cualquiera de tus proyectos aqui tienes el enlace de descarga:

Click para descargar

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

14 comentarios en “JCDesktopPane: Imagen de fondo en MDI”

  1. andres dice:

    bien … siempre son excelentes tus publicaciones sigue asi

  2. Hector dice:

    hey man muy bueno el aporte me sirvió muchisimo.. sigue asi y muchas gracias!!!!

  3. mario dice:

    no he podido hacerlo andar. deberias poner como usarlo paso a paso…

    1. Mouse dice:

      :/ ¿cual es tu problema? no puedo ayudarte si no lo dices

      1. julio dice:

        Que escribo para que edite y ponga una imagen a mi JDesktopPane osea como conecto ese codigo a mi programa

  4. Alexander dice:

    hola mouse soy boliviano muy buen aporte estoy en la u y me sirvieron de mucho los codigos q descargue porque recien estoy iniciando en java. muchas gracias

  5. pedro dice:

    como le hago para hacer esto sin codigo en forma visual?

  6. Antrax dice:

    Todo bien pero como se cambia la imagen?

  7. Antrax dice:

    JC-Mouse, he revisado el componente pero en tu tutorial no he encontrado la forma de poder cambiar la imagen, estare muy agradecido si me esplicas como cambiarla. gracias

  8. Dawinzito dice:

    muy interesante.. que bueno que hayan paginas web como estas…
    lo bueno sigue subiendo proyectos… asi nos guiamos mas facil..jaja
    buena jc-mause..

  9. Julio dice:

    Hola buenas tardes buenas noches o buenos dias jaja mi consulta es como puedo hacer para agregar ese codigo fuente al boton y si luego de hacer eso queda permanente en mi netbeans y no tendria que estar haciendo de nuevo el mismo procedimiento una y otra vez.!!!

    1. Mouse dice:

      tienes que empaquetarlo 🙂 hay varios ejemplos en esta web de como crear tus propias librerias

  10. rolando mendoza dice:

    como puedo colocar otra imagen predeterminada por fa ayudame responde

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

“MyBatis es una herramienta de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacena...

MyBatis es un framework de persistencia Java que se encarga de mapear sentencias SQL y procedimientos almacenados a part...

Webcam Capture es un API  que permite usar una cámara web incorporada o externa directamente desde código Java utilizand...

im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM...

Herramientas

Generador de Enlaces a Whatsapp