»
S
I
D
E
B
A
R
«
Un icono en la barra de Tareas muy practico
Octubre 8th, 2009 by John Carlos Arrieta Arrieta


Simbiotica


Creative Commons License



www.simbiotica.com.co


Contáctenos…

Esta sitio y todo su contenido  está protegida por
licencia de Creative Commons


Componente para utilizar en sus aplicaciones un icono en la barra de tareas .

Cordial saludos para  todos.

En estos días de descanso se me  ocurrió la idea de escribir un componente reutilizable y práctico para que los puedan colocar en sus aplicaciones de escritorio Java Swing (conocidas como standalone), se trata de un icono que se puede colocar en la barra de tareas del sistema operativo (conocido en programación como plataforma), el cual se puede configurar agregándole nuevo Items, cambiándole la imagen por defecto, cambiando el logo de la ventana Acerca de…, entre otras labores  típicas de estos controles GUI (Grafical User Interfaz).

Para adelantar como severa, vean algunos pantallazos de la ejecución por defecto y de la ejecución personalizada.

image001

Icono en la barra de tareas

Al iniciar la aplicación el componente coloca un icono en la barra de tareas con mi foto predeterminada (discúlpenme que siempre coloque la misma y ya aburrida foto, pero es que no es lo único neutral que veo cuando voy a realizar algún ejemplo), como les dije anteriormente esta foto la pueden cambiar si así lo desea, algo que veremos más adelante

image003

Menú por defecto del icono en la barra de tareas

Si pulsamos clic derecho sobre la imagen del icono, se desplegara un Menu de opciones o Items, que por defecto solo trae dos, uno para cerrar la aplicación y otro para mostrar el logo de la aplicación, persona o empresa que la desarrollo, estos dos Items no se pueden quitar del menú por que hacen parte integral del mismo, el Item Acerca de si se puede configurar, pero por defecto muestra el siguiente splash, centrado en la pantalla.

image016

Imagen del splash que se muestra por defecto en la opción Acerca de

Les presento al motor de mi vida, de mayor a menor, Yenys del Carmen Villarreal Cortes (Mi adorada esposa, la reina y la profe Yenys), este su humilde compañero (el rey y profe John), Sebastian Camilo Arrieta Villarreal (el príncipe, el pelaito Sebas y por ahora  el Médico o Ingeniero),  Nicol Sofia Arrieta Villarreal (la princesa, la pelaita Nico y por ahora la Actriz o cantante, ojala y solo sean cosas de niña y Dios me la haga cambiar de parecer) y por ultimo y oculto a la vista de todos y muy seguro en su vientre materno Julian Alfonso Arrieta Villarreal (el gran Juliancito y por ahora futbolista porque patea como loco en la barriga de su mama).

La imagen que tiene es splash se puede cambiar por otra, la que ustedes deseen.

image0071

Item para cerrar la aplicación

image012

Alerta que notifica y pregunta si desea continuar.

Ahora les mostrare como integrar este componente con sus aplicaciones.

Manos a la obra.

Primero tener a la mano los recursos para construir la aplicación, estos recursos son:

El kit de desarrollo estándar de Java o JSDK

El IDE libre (Entorno Integrado de desarrollo) Netbeans instalado y configurado para el JSDK, o cualquier otro IDE para Java de su preferencia

Los iconos de la aplicación

Mi librería del icono en la barra de tareas, no es nada nuevo.

image014

Diagrama de clases del componente

Como utilizarlo

Es relativamente facil utilizar este componente en sus aplicaciones, continuación les coloco los pasos:

  1. Colocar en la variable CLASSPATH la ruta donde se encuentra el repositorio (librería) que contiene las clases del componente, este repositorio los pueden descargar Icono_Barra_Tareas
  2. Si utilizan un IDE (GEL, JCreator, NetBeans, Eclipce, JBuilder, JDeveloper, VisulStudio, WebShared, etc…) pueden agregarla a la  carpeta de librerías del proyecto
  3. Crear un objeto IconoSistempres en algún lugar dentro del código de su proyecto, les recomiendo que sea en el constructor de la clase de la Ventana Principal de su proyecto, de esta forma solo se podrá crear una sola vez y si utilizan Swing Aplication Framework, el usuario final de su aplicación solo podra ejecutar una sola aplicación al mismo tiempo.
  4. Pueden utilizar el constructor por defecto, este crea un Icono con valores predefinidos por mi,
  5. si quieren un icono mas personalizado, pueden utilizar el constructor con parámetros, el cual  recibe todos los parámetros necesario, la ventana de su aplicación, el icono de la barra de tareas, el logo de la ventana acerca de, una lista de Items con que serán mostrados en el menú del icono ,el mensaje que se mostrara al pasar el ratón sobre el inicio de la barra de tareas, el titulo del menú.
  6. Si lo desean pueden utilizar un conjunto de métodos que he diseñado para que puedan configurar el componente despues de crear lo, tambien pueden personalizarlo en tiempo de ejecución.

Ejemplo:

1
IconoSistempres micono = new IconoSistempres();

Crea un icono con mi ya famosa foto y el logo de mi empresa, pero si quieren algo más de ustedes, pueden utilizar el constructor de 6 parámetros

1
IconoSistempres icono2 = new IconoSistempres(ventanaPincipal, imageIconoBarraTareas, imageLogoAcercaDe, listaItemsConEventos, cadenaMensajeSobreIconoBarraTarea, cadenaTituloMenuIcono);

Para la imagen del icono y del logo de AcercaDe, les recomiendo que importen y coloquen esas imagenes en su proyecto y con la siguiente instrucción las pueden obtener desde el .jar (repositorio redistribuible) que se crea al construir la aplicación final.

1
Image logo  = new ImageIcon(ClaseVentana.class.getClass().getResource("/paqueteprincipal/paqueteIncos/logo.png")).getImage();

Donde paquetes son sus respectivos paquetes de la aplicación donde se encuentran los iconos e imágenes
Para agregarle mas items al menú pueden hacerlo con el método

1
iconoSistempres.agregarItem(nuevoItem);

Este nuevoItem ya debe tener agregado el evento.

La clase IconoSistempres también tiene otros métodos que les permiten configurar el icono de la barra de tareas en tiempo de ejecución.

Por ejemplo:

1
2
3
4
5
6
7
IconoSistempres iconoBarraTareas = new IconoSistempres();
MenuItem itemMinimizar = new MenuItem("minimizar");
ActionListener eventoMinimizar = new ActionListener(){
public void actionPerformed(ActionEvent evento){
ventanPrincipal. .setExtendedState(JFrame.ICONIFIED);
}
};

itemMinimizar.addActionListener(eventoMinimizar);
iconoBarraTareas.agregarItem(itemMinimizar);

O si lo prefieren pueden crear una lista de Item

1
List<MenuItem>  listaItems  = new LinkedList<MenuItem>();

luego le agregan los items necesarios, también pueden agregar Menus  (Menu) y a estos a su vez li agregan mas Items, de esta forma pueden crear submenus dentro del mena del icono de la barra de tareas, ademas  pueden agregar Separadores (Separator), para organizar mejor los diferentes Items

1
2
3
4
5
6
7
8
9
10
11
12
13
14
listaItems.add(itemMinimizar);
Separator separador = new Separator();
listaItems.add(separador);
Menu submenu = new Menu("Otras operaciones");
MenuItem itemOperacion1 = new MenuItem("Operación 1");
// agregar evento al itemOperacion1
submenu.add(itemOperacion1);
MenuItem itemOperacion2 = new MenuItem("Operación 2");
// agregar evento al itemOperacion2
submenu.add(itemOperacion1);
// ...
listaItems.add(submenu);
// ...
iconoBarraTareas.agregarVariosItems(listaItems);

He documentado todos los métodos públicos del componente, de esta forma al utilizar un IDE con completado de código inteligente como NetBeans, podrán ver una explicacion detallada de cada método.

image0131

image0221

sistempres.johncarlosarrietaarrieta
Class IconoSistempres

java.lang.Object

sistempres.johncarlosarrietaarrieta.IconoSistempres


public class IconoSistempres

extends java.lang.Object


Constructor Summary

IconoSistempres()
Crea un icono en la barra de taras con la configuracion pro defecto la configuracion por defecto contiene un menu con dos item, uno para salir de la apliacion y otro para mostrar un Splash Acerca de… la aplicacion Usted puede configurar los parametos del icono en tiempo de ejecucion si asi lo desea, o utilizar el constuctor que recibe los paramtros de configuracion

IconoSistempres(java.awt.Component componente, java.awt.Image iconoBarra, java.awt.Image logo, java.util.List<java.awt.MenuItem> listaDeItems, java.lang.String mensajeTooltip, java.lang.String tituloMenuIcono)
Crea un icono personalizado en la barra de tareas Por ejemplo si pasa como nulo (null) cualquiera de los parametros que tiene el constructor, entonces el icono se creara con los valores que tiene por defecto para dichos parametros cuyo valor se ha pasado como null

Method Summary

void

agregarItem(java.awt.MenuItem nuevoItem)
Agrega un nuevo item al menu del icono de la barra de tareas

void

agregarVariosItems(java.util.List<java.awt.MenuItem> nuevaListaItems)
Agrega una coleccion de Items en el menu del incono de la barra de tareas

static void

main(java.lang.String[] arg)

void

quitarItem(java.awt.MenuItem itemAquitar)
Quita un item del menu del icono de la barra de taras

void

quitarTodosLosItem()
Quita todos los item del menu dek icono de la barra de tareas a excepcion del item de Salir y el item AcercaDe…

void

setComponente(java.awt.Component componente)
Cambia la ventana sobre la cual se centrara la ventana Acerca De… y los mensajes de alerta que muestra el icono de la barra de tareas

void

setIconoBarra(java.awt.Image iconoBarra)
Cambia la imagen del icono que se muestra en el icono de la barra de taras

void

setLogo(java.awt.Image logo)
Cambia la imagen del Logo de de la vantana Acerca De… del menu del icono de la barra de tareas

void

setMensajeTooltip(java.lang.String mensajeTooltip)
Camiba el mensaje que aparece al poner el Mouse sobre el icono de la barra de tareas

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

IconoSistempres

public IconoSistempres()

Crea un icono en la barra de taras con la configuracion pro defecto la configuracion por defecto contiene un menu con dos item, uno para salir de la apliacion y otro para mostrar un Splash Acerca de… la aplicacion Usted puede configurar los parametos del icono en tiempo de ejecucion si asi lo desea, o utilizar el constuctor que recibe los paramtros de configuracion


IconoSistempres

public IconoSistempres(java.awt.Component componente,

java.awt.Image iconoBarra,

java.awt.Image logo,

java.util.List<java.awt.MenuItem> listaDeItems,

java.lang.String mensajeTooltip,

java.lang.String tituloMenuIcono)

Crea un icono personalizado en la barra de tareas Por ejemplo si pasa como nulo (null) cualquiera de los parametros que tiene el constructor, entonces el icono se creara con los valores que tiene por defecto para dichos parametros cuyo valor se ha pasado como null

Parameters:

componente – es la ventana principal de la aplicacion que desae utilizar el icono en la barra de tareas

iconoBarra – Es la imagen que se colocara en el icono de la barra de tareas

logo – es la imagen que se desea colocar en en fondo de la ventana Acerca de…

listaDeItems – es la lista de Items que tendra el menu de incono

mensajeTooltip – es el mensaje que aparece sobre el icono cuando se coloca el raton sobre el

tituloMenuIcono – es el titulo de que parece sobre el menu del icono

Method Detail

agregarItem

public void agregarItem(java.awt.MenuItem nuevoItem)

Agrega un nuevo item al menu del icono de la barra de tareas

Parameters:

nuevoItem – el nuevo item a agregar


quitarItem

public void quitarItem(java.awt.MenuItem itemAquitar)

Quita un item del menu del icono de la barra de taras

Parameters:

itemAquitar – el item a quitar


quitarTodosLosItem

public void quitarTodosLosItem()

Quita todos los item del menu dek icono de la barra de tareas a excepcion del item de Salir y el item AcercaDe…


agregarVariosItems

public void agregarVariosItems(java.util.List<java.awt.MenuItem> nuevaListaItems)

Agrega una coleccion de Items en el menu del incono de la barra de tareas

Parameters:

nuevaListaItems – la coleccion de iconos a agregar


setLogo

public void setLogo(java.awt.Image logo)

Cambia la imagen del Logo de de la vantana Acerca De… del menu del icono de la barra de tareas

Parameters:

logo – la nueva imagen que reempazara a la imagen actual


setMensajeTooltip

public void setMensajeTooltip(java.lang.String mensajeTooltip)

Camiba el mensaje que aparece al poner el Mouse sobre el icono de la barra de tareas

Parameters:

mensajeTooltip – en nuevo mensaje que reemplazara al mensaje actual


setIconoBarra

public void setIconoBarra(java.awt.Image iconoBarra)

Cambia la imagen del icono que se muestra en el icono de la barra de taras

Parameters:

iconoBarra – la imagen que reemplazara a la imagen actual en el Icono


setComponente

public void setComponente(java.awt.Component componente)

Cambia la ventana sobre la cual se centrara la ventana Acerca De… y los mensajes de alerta que muestra el icono de la barra de tareas

Parameters:

componente – la ventana que reemplazara a la ventana actual


main

public static void main(java.lang.String[] arg)

267 Visitas hoy
Comparte en tu Web:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • Reddit
  • RSS
  • StumbleUpon

12 Responses  
  • oscar Dominguez writes:
    Octubre 8th, 2009 at 10:23

    muy bueno profe ya lo probe y se ve muy bn!!..

  • oscar Dominguez writes:
    Octubre 8th, 2009 at 10:24

    ah y muchas gracias por todos los tutoriales que nos manan son muy interesante y sirven muy bn gracias profe!!..

    • John Carlos Arrieta Arrieta writes:
      Octubre 8th, 2009 at 10:36

      Hola Oscar, gracias a ti por participar y leer mis articulos, esa es el mejor y mas satisfactorio agradecimiento que puedo tener.
      Estoy preparando uno de Netbean muy completo y detallado, con muchas imágenes, subo la primera parte en estos días, también estoy preparando otros sobre LAMP, otros sobre BD y otro sobre JSP, para después ponerme a hacer uno sobe .NET porque esa categoría tengo algo olvidada.

      Si puedes recomendarle esta pagina a alguien que crea que le puede interesar, te agradecería que lo hicieras, de esta forma apoyas mas a la causa, es importante que veas que no hay ninguna clase de publicidad diferente a la mía como profesional, con el fin de no fastidiara a nadie.

  • Jose Mora writes:
    Octubre 8th, 2009 at 22:18

    Jajaa buenicimo.. y solo en media hora lo integre…. ta chido el cuento este!! gracias profe.. se le agradece el detalle!

    • John Carlos Arrieta Arrieta writes:
      Octubre 8th, 2009 at 23:35

      Hola Jose, saludos…

      Me alegra mucho que tu proyecto sea escogido como muestra en expotecno de la U y en Saberes, recuerdas cuando estaba haciendo el modelo de conceptual (el diagrama de clases) de ese proyecto, te decía que si lo implementabas tal y como te lo lo había diseñado y explicado ese proyecto seria muy bueno e interesante, me alegra mucho por ti, sigue así que ya entraste al camino correcto, yo sabia que tu lo programarías muy bien.

      Gracias por participar.

  • Alejandro Navarro writes:
    Octubre 8th, 2009 at 22:38

    Hola profe gracias por este grandioso tutorial , ya lo puse en practica! y me funcionó, estaré pendiente cuando publique los demas, hay alguna forma de embeber su pagina a otras webs mediante una imagen o icono? para que dar a conocer mas esta pagina?

    • John Carlos Arrieta Arrieta writes:
      Octubre 8th, 2009 at 23:30

      Hola Alejadro, saludos…

      Si hay muchas formas de hacer esto, pero en los sistemas de blog lo mas normal es hacer lago llamado pingball con otros blog, es to es una especie de recomendación que uno hace a los canales de blog y los canales RSS, otra forma es recomendandola p a un amigo, este sistema tiene habilitada la opción de recomendacion y el pingbal, pueden internar por estos medios.

      Gracias por participar

  • Luis Sampayo writes:
    Octubre 13th, 2009 at 9:42

    Hola profe gracias por el tutorial, que bien, es algo que de verdad ayuda no solo por el resultado que se ve si no por lo que se aprende.

  • Jiansy90 writes:
    Diciembre 17th, 2009 at 22:48

    Muy bueno esto de manejar atajos en el Sistema Operativo Profesor, bueno siendo claro Complemento utilizado por Yahoo y otras CyBerEmpresas en los Sistemas Operativos, Jamas hubiese entendido mejor la Creación de dicho Complemento, Mui Claro el Diagrama de Entidades, Okey espero Profe Disculpe Que no sea la tematica, la incursion del llamado “Hibernate (Tema Interesante)” en su WebSite Lleno de Cosas para Deleitar la Mente.

    Wow Profe…

    “Es deberas satisfactorio El Notar lo Que somos Capaces de hacer con solo recibir Conocimiento”.

    • John Carlos Arrieta Arrieta writes:
      Diciembre 18th, 2009 at 9:06

      Claro Jiliar ya estoy trabajando en varios artículos nuevos, entre ellos j¿hay uno que justamente justamente trata sobre ORM (Object Ralational Maping), donde explico básicamente el uso de JPA (Java Persistence Api), con varios motores ORM entre ellos Hibernante.

      Ten calma que el año entrante este sitio estará lleno de muchos temas interesantes, como la creación de un proyecto que tengo en mente basado en SL, pero lo haremos al estilo basar tal y como se han construido, siguen y seguirán construyendo los grandes y mas populares proyectos de SL, como por ejemplo GNU y GNU/Linux, OpenOffice, etc, donde muchas personas distribuidas por todo el planeta participan de forma colectiva, cada uno con una labor especifica en el proyecto, pero todos miran hacia el mismo objetivo.

      Mi idea sera pues obvio mucho menos ambiciosa, en cuanto al numero de participantes y la extensión geográfica a la que pertenecen, pero sera haremos todo lo posible para que la experiencia sea muy similar al desarrollo de proyectos colaborativos de SL (Software Libre)

      Nuevamente gracias por participar.

    • John Carlos Arrieta Arrieta writes:
      Diciembre 19th, 2009 at 22:42

      Nuevamente gracias por tus comentarios Juliar, me agrada mucho que te haya gustado este Sitio Web.

  • Creando un componente basado en Software Libre – IV Parte | SIMBIOTICA writes:
    Marzo 1st, 2010 at 0:27

    [...] Un icono en la barra de Tareas muy practico [...]


Por favor deje sus Comentarios aquí:

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
© John Carlos Arrieta Arrieta