Background en JDeskPane a StatusBar....
Hola Comunidad:
Estoy iniciando una aplicación JAVA en JCreator PRO... estoy iniciandome en el hermoso mundo de JAVA y la verdad no conozco mucho más que lo basico en entorno gráfico.
Pretendo poner un Background a mi JDeskPane pero no he logrado hacerlo anexo mi source:
[HIGHLIGHT="java"]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class frmMDI extends JFrame{
private JDesktopPane JDeskPane;
private JMenuBar jmbBarraMenu;
private JMenu jmArchivo;
private JMenuItem jmiCambiarUsuario;
private JMenuItem jmiCerrarSesion;
private JMenuItem jmiSalir;
private JMenu jmCatalogos;
private JMenu jmHerramientas;
private JMenuItem jmiRespaldar;
private JMenuItem jmiRestaurar;
private JMenu jmVer;
private JMenu jmAyuda;
private JMenuItem jmiSICEM;
private JMenuItem jmiAcerca;
public Image imgBackground;
/*----------------------------------------------------------------------------
CONSTRUCTOR DE CLASE----------------------------------------------------------
-----------------------------------------------------------------------------*/
public frmMDI(String strRutaImagen){
//Establecemos el título de la aplicación
setTitle("SICEM - Sistema de Control Escolar Montessori");
//Creamos un ImageIcon que será el icono del Form
ImageIcon imgIcon =new ImageIcon("imagenes/sicem_icon.png");
//Lo colocamos
setIconImage(imgIcon.getImage());
//Creamos una nueva barra de Menu
jmbBarraMenu = new JMenuBar();
//Creamos el elemento de menu Archivo
jmArchivo = new JMenu("Archivo");
//Creamos la opcion Cambiar de Usuario
jmiCambiarUsuario = new JMenuItem("Cambiar de usuario", new ImageIcon ("imagenes/usuarios_icon.png"));
jmiCambiarUsuario.setMnemonic(KeyEvent.VK_F12);
jmArchivo.add(jmiCambiarUsuario);
//Creamos la opcion Cerrar Sesion
jmiCerrarSesion = new JMenuItem("Cerrar sesión", new ImageIcon ("imagenes/locked_icon22x22.png"));
jmiCerrarSesion.setMnemonic(KeyEvent.VK_F11);
jmArchivo.add(jmiCerrarSesion);
jmArchivo.addSeparator();
//Creamos la opcion Salir del menu archivo
jmiSalir = new JMenuItem("Salir", new ImageIcon ("imagenes/exit_icon22x22.png"));
jmiSalir.setMnemonic(KeyEvent.VK_ESCAPE);
jmArchivo.add(jmiSalir);
//Creamos el elemento de menu Catalogo
jmCatalogos = new JMenu("Catálogos");
//Creamos el elemento de menu Herramientas
jmHerramientas = new JMenu("Herramientas");
//Creamos el elemento de menu Respaldar
jmiRespaldar = new JMenuItem("Respaldar Base de Datos");
//Creamos el elemento de menu Restaurar
jmiRestaurar = new JMenuItem("Restaurar Base de Datos");
//Creamos el elemento de menu Ver
jmVer = new JMenu("Ver");
//Creamos el elemento de menu Ayuda
jmAyuda = new JMenu("Ayuda");
//Creamos el elemento de menu AyudaSicem
jmiSICEM = new JMenuItem("Contenido");
//Creamos el elemento de menu acercade
jmiAcerca = new JMenuItem("Acerca de...");
jmbBarraMenu.add(jmArchivo);
jmbBarraMenu.add(jmCatalogos);
jmbBarraMenu.add(jmHerramientas);
jmbBarraMenu.add(jmVer);
jmbBarraMenu.add(jmAyuda);
setJMenuBar(jmbBarraMenu);
//Se supone que coloca el background del formulario
imgBackground = new ImageIcon(getClass().getResource("imagenes/background.jpg")).getImage();
JDeskPane = new JDesktopPane();
add(JDeskPane);
//Se maximiza la ventana
setExtendedState(JFrame.MAXIMIZED_BOTH);
}
}
[/HIGHLIGHT]
como pueden observar esta documentado todo mi código paso a paso para no tener pierde (Casi siempre hago esto cuando manejo nuevos lenguajes XD) realmente no hace nada o si pone el fondo no lo muestra agradeceria mucho cualquier aportacion..... Tambien si alguien puede ayudarme a crear o decirme como puedo crear un StatusBar para mi JDeskPane y decirme porque cuando maximizo mi JDeskPane éste se pone SOBRE mi barra de tareas de windows se lo agradecere mucho.....
- Inicie sesión o regístrese para enviar comentarios
En vez de:[HIGHLIGHT]
En vez de:[HIGHLIGHT] [/HIGHLIGHT] escribe to código con : <code></code>
Etiquetas <code> </code>
import java.awt.event.*;
import javax.swing.*;
class frmMDI extends JFrame{
private JDesktopPane JDeskPane;
private JMenuBar jmbBarraMenu;
private JMenu jmArchivo;
private JMenuItem jmiCambiarUsuario;
private JMenuItem jmiCerrarSesion;
private JMenuItem jmiSalir;
private JMenu jmCatalogos;
private JMenu jmHerramientas;
private JMenuItem jmiRespaldar;
private JMenuItem jmiRestaurar;
private JMenu jmVer;
private JMenu jmAyuda;
private JMenuItem jmiSICEM;
private JMenuItem jmiAcerca;
public Image imgBackground;
/*----------------------------------------------------------------------------
CONSTRUCTOR DE CLASE----------------------------------------------------------
-----------------------------------------------------------------------------*/
public frmMDI(String strRutaImagen){
//Establecemos el título de la aplicación
setTitle("SICEM - Sistema de Control Escolar Montessori");
//Creamos un ImageIcon que será el icono del Form
ImageIcon imgIcon =new ImageIcon("imagenes/sicem_icon.png");
//Lo colocamos
setIconImage(imgIcon.getImage());
//Creamos una nueva barra de Menu
jmbBarraMenu = new JMenuBar();
//Creamos el elemento de menu Archivo
jmArchivo = new JMenu("Archivo");
//Creamos la opcion Cambiar de Usuario
jmiCambiarUsuario = new JMenuItem("Cambiar de usuario", new ImageIcon ("imagenes/usuarios_icon.png"));
jmiCambiarUsuario.setMnemonic(KeyEvent.VK_F12);
jmArchivo.add(jmiCambiarUsuario);
//Creamos la opcion Cerrar Sesion
jmiCerrarSesion = new JMenuItem("Cerrar sesión", new ImageIcon ("imagenes/locked_icon22x22.png"));
jmiCerrarSesion.setMnemonic(KeyEvent.VK_F11);
jmArchivo.add(jmiCerrarSesion);
jmArchivo.addSeparator();
//Creamos la opcion Salir del menu archivo
jmiSalir = new JMenuItem("Salir", new ImageIcon ("imagenes/exit_icon22x22.png"));
jmiSalir.setMnemonic(KeyEvent.VK_ESCAPE);
jmArchivo.add(jmiSalir);
//Creamos el elemento de menu Catalogo
jmCatalogos = new JMenu("Catálogos");
//Creamos el elemento de menu Herramientas
jmHerramientas = new JMenu("Herramientas");
//Creamos el elemento de menu Respaldar
jmiRespaldar = new JMenuItem("Respaldar Base de Datos");
//Creamos el elemento de menu Restaurar
jmiRestaurar = new JMenuItem("Restaurar Base de Datos");
//Creamos el elemento de menu Ver
jmVer = new JMenu("Ver");
//Creamos el elemento de menu Ayuda
jmAyuda = new JMenu("Ayuda");
//Creamos el elemento de menu AyudaSicem
jmiSICEM = new JMenuItem("Contenido");
//Creamos el elemento de menu acercade
jmiAcerca = new JMenuItem("Acerca de...");
jmbBarraMenu.add(jmArchivo);
jmbBarraMenu.add(jmCatalogos);
jmbBarraMenu.add(jmHerramientas);
jmbBarraMenu.add(jmVer);
jmbBarraMenu.add(jmAyuda);
setJMenuBar(jmbBarraMenu);
//Se supone que coloca el background del formulario
imgBackground = new ImageIcon(getClass().getResource("imagenes/background.jpg")).getImage();
JDeskPane = new JDesktopPane();
add(JDeskPane);
//Se maximiza la ventana
setExtendedState(JFrame.MAXIMIZED_BOTH);
}
}
paintComponet
{
private Image backImage = null; //member variable
public myDesktopPane()
{
try
{
backImage = new javax.swing.ImageIcon(this.getClass().getResource("backImage.jpg")).getImage();
}
catch(Exception e)
{
System.out.println("Could not find file in folder: " + this.getClass().getResource("."));
}
}
public void paintComponent( Graphics g )
{
if(backImage == null)
super.paintComponent(g);
else
{
Graphics2D g2d = (Graphics2D)g;
//scale the image to fit the size of the Panel
double mw = backImage.getWidth(null);
double mh = backImage.getHeight(null);
double sw = getWidth() / mw;
double sh = getHeight() / mh;
g2d.scale(sw, sh);
g2d.drawImage(backImage, 0, 0, this);
}
}
}
Saludos.
Hola....
Hola Gracias por tu aporte.... A los que tengan el mismo problema que yo anexo la solución del problema y ya modificado para poder poner un Background centrado, mosaico ó extendido.....
import java.awt.event.*;
import javax.swing.*;
class frmJDeskPane extends JDesktopPane{
private Image imgBackground = null;
public frmJDeskPane(){
try{
//imgBackground = new ImageIcon(getClass().getResource("imagenes/background.jpg")).getImage();
imgBackground = new ImageIcon(getClass().getResource("imagenes/MySQL.png")).getImage();
}
catch(Exception e){
System.out.println("No se encuentra el archivo " + getClass().getResource("."));
}
}
public void paintComponent(Graphics g){
if (imgBackground == null){
super.paintComponent(g);
}
else{
Graphics2D g2d = (Graphics2D) g;
int intLeft = 0;
int intTop = 0;
int intOpc = 2;
switch (intOpc){
//Expandir imagen
case 0: g2d.drawImage(imgBackground, 0, 0, getSize().width, getSize().height, this);
break;
//Centrar en pantalla
case 1: intLeft = (getWidth()/2) - (imgBackground.getWidth(null)/2);
intTop = (getHeight()/2) - (imgBackground.getHeight(null)/2);
g2d.drawImage(imgBackground, intLeft, intTop, this);
break;
//Mosaico
case 2: while(intTop<getHeight()){
while(intLeft<getWidth()){
g2d.drawImage(imgBackground, intLeft, intTop, this);
intLeft += imgBackground.getWidth(null);
}
intLeft = 0;
intTop += imgBackground.getHeight(null);
}
};
}
}
}
Gracias y saludos cordiales....