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:
Solo debe agregarse el archivo JCDesktopPane.
Una vez instalado podras reconocer el componente en la Paleta de Netbeans por el icono
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:
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! :)
Los comentarios estan cerrados
Si trabajas con redes sociales (RRSS) a continuación te muestro tres herramintas gratuitas que te ayudaran a la hora de...
Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...
En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...
Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...
bien … siempre son excelentes tus publicaciones sigue asi
hey man muy bueno el aporte me sirvió muchisimo.. sigue asi y muchas gracias!!!!
no he podido hacerlo andar. deberias poner como usarlo paso a paso…
:/ ¿cual es tu problema? no puedo ayudarte si no lo dices
Que escribo para que edite y ponga una imagen a mi JDesktopPane osea como conecto ese codigo a mi programa
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
como le hago para hacer esto sin codigo en forma visual?
Todo bien pero como se cambia la imagen?
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
Esta bien ya lo resolví con tu otro post
http://jc-mouse.blogspot.com/2010/03/imagen-de-fondo-en-una-aplicacion-mdi.html
muy interesante.. que bueno que hayan paginas web como estas…
lo bueno sigue subiendo proyectos… asi nos guiamos mas facil..jaja
buena jc-mause..
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.!!!
tienes que empaquetarlo 🙂 hay varios ejemplos en esta web de como crear tus propias librerias
como puedo colocar otra imagen predeterminada por fa ayudame responde