miércoles, 25 de abril de 2012

Programacion concurrente multihilo


Un hilo es un proceso que se está ejecutando en un momento determinado en nuestro sistema operativo, como cualquier otra tarea, esto se realiza directamente en el procesador.

Al hablar de multi-hilo pudiera parecer que se necesita más de un procesador para realizar dichas tareas pero no es así, el procesador mismo junto con la máquina virtual de Java gestionan el flujo de trabajo y dan la impresión de que se puede ejecutar más de algún proceso al mismo tiempo (aunque en términos estrictos eso no es posible), basta con entender que en Java, 2 o más procesos pueden ejecutarse al mismo tiempo dentro de una misma aplicación y para ello son necesarios los Threads o hilos.

En Java un hilo o Thread puede ser 2 cosas:

+ Una instancia de la clase java.lang.Thread
+ Un proceso en ejecución
Un hilo se crea de la siguiente manera
class MiHilo extends Thread{
public void run(){
System.out.println("Trabajo por hacer dentro de MiHilo");
}
}
Haciendo uso del método run.

Un hilo tiene diferentes estados:
·         Nace=Start ejemplo: nuevoHilo.start(); (línea de codigo correspondiente a dicha acción.
·         Listo
·         Ejecutándose
·         Dormido=Sleep
·         Bloqueado
·         Suspendido= Suspend
·         Esperando= Wait
·         Muere = Stop



martes, 27 de marzo de 2012

AGREGAR COMPONENTES EN JAVA


Javabeans


Un JavaBean o bean es un componente hecho en software que se puede reutilizar y que puede ser manipulado visualmente por una herramienta de programación en lenguaje Java.
Para ello, se define un interfaz para el momento del diseño (design time) que permite a la herramienta de programación o IDE, interrogar (query) al componente y conocer las propiedades (properties) que define y los tipos de sucesos (events) que puede generar en respuesta a diversas acciones.
Aunque los beans individuales pueden variar ampliamente en funcionalidad desde los más simples a los más complejos, todos ellos comparten las siguientes características:
  • Introspection: Permite analizar a la herramienta de programación o IDE como trabaja el bean
  • Customization: El programador puede alterar la apariencia y la conducta del bean.
  • Events: Informa al IDE de los sucesos que puede generar en respuesta a las acciones del usuario o del sistema, y también los sucesos que puede manejar.
  • Properties: Permite cambiar los valores de las propiedades del bean para personalizarlo (customization).
  • Persistence: Se puede guardar el estado de los beans que han sido personalizados por el programador, cambiando los valores de sus propiedades.
En general, un bean es una clase que obedece ciertas reglas:
  • Un bean tiene que tener un constructor por defecto (sin argumentos)
  • Un bean tiene que tener persistencia, es decir, implementar el interface Serializable.
  • Un bean tiene que tener introspección (instrospection). Los IDE reconocen ciertas pautas de diseño, nombres de las funciones miembros o métodos y definiciones de las clases, que permiten a la herramienta de programación mirar dentro del bean y conocer sus propiedades y su conducta.




Como añadir un componente en java.

1.   Abrir un proyecto o bien crear uno nuevo.

 2.  Abrir la pestaña Tools/Palette/Swing/AWT components. Ubicadas en la barra de herramientas.







 3.    Aparecerá la siguiente pantalla, dar click en el botón Add From Jar.





 4.   Seleccionar la carpeta que contiene los componentes Java Beans/EleganttJindicatoGauter/Jars











 5. Después de seleccionar Jars elegiremos el componente deseado,  click en el botón Next.






 6.   Seleccionar la carpeta donde se va a ubicar el componente agregado y dar click en Finish


 7.   Por último abrimos un formulario del proyecto para agregar el componente y poder visualizarlo  como se muestra en la siguiente pantalla.









miércoles, 15 de febrero de 2012

EVENTOS EN JAVA


Un evento es una accion iniciada por el usuario, por ejemplo: presionar un boton o editar texto. La idea basica de los programadores es que se generen eventos y que los programas respondan a ellos.

Existen diferentes tipos de eventos.

  • ComponentEvent: Se producira este evento cuando el usuariomueva o redimensione un componente.
  • FocusEvent: Se producira cuando se cambie el enfoque de un componente.
  • KeyEvent: Se producira cuando el usuario pulse una tecla.
  • MouseEvent: Se genera al mover el raton.
  • ContainerEvent: Se produdiran cuando se añadan o se quiten elementos del contenedor.
  • WindowEvent: Se producen al abrir o cerrar una ventana.
  • AdjustmentEvent: Se ajusta algun valor de un componente.
  • Action performed
  • Mouse Motion
  •  Windows Focus
Ejemplo de linea de codigo


  private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {                                          
       vender v=new vender();
       v.setVisible(true);



Los eventos son parte fundamental en la programacion, por eso como programador se debe comprender mas que aprender de memoria como funciona la implementacion de eventos.