Programación Java

  1. Iniciando con Java
    • Caracteristicas destacables de Java
    • Separando la moda de la realidad
    • La evolucion de Java
    • Como compilar y ejecutar un programa en Java
    • Algunos ejemplos en Java
    • Java en el mundo real
  2. Programación Orientada a Objetos con Java
    • Variables de instancia
    • Métodos: Agregando funciones a las clases
    • Constructores: Construyendo las instancias
    • Destructores: Por que no son necesarios
    • Sobrecarga de métodos
    • Javadoc: Documentando las clases
    • Herencia: Reutilizando y aumentando las capacidades de otras clases
    • Interfaces: Describiendo el comportamiento de multiples clases
    • Paquetes: Organizando las clases
    • Classpath: Diciendole a Java en donde buscar las clases
    • Modificadores: Especificando que partes de la clase están expuestas
  3. Sintaxis básica de Java
    • Tipo primitivos
    • Operadores aritmeticos, logicos y relacionales
    • Expresiones condicionales y ciclos
    • Métodos matematicos
    • Entrada del teclado y salida a la consola
    • Ejecución de programas en otros lenguajes
    • Referencias
    • Strings
    • Arreglos
    • Vectores
    • Ejemplo: Construyendo un arbol binario sencillo
    • Excepciones
  4. Applets y Gráficos
    • Creación de applets
    • El ciclo de vida de los applets
    • Mandando parametros a los applets
    • El Plugin de Java
    • Creando aplicaciones gráficas
    • Operaciones básicas para dibujar, colorear y manejo de fonts
    • Carga y dibujado de imagenes
    • Precarga de imagenes
  5. Java 2D
    • Dibujando en dos dimensiones
    • Rellenado de figuras
    • Dibujado transparente
    • Usando fonts locales
    • Tipos de trazos
    • Transformación de coordenadas
  6. Manejo de eventos del mouse y teclado
    • Estrategia general para manejo de eventos
    • Usando un objeto separado para manejo de eventos
    • Implementando una interfaz para manejo de eventos
    • Uso de clases internas para manejo de eventos
    • Entendiendo los listeners estandares
    • Un textfield con corrector ortográfico
    • Una pizarra interactiva
  7. Layout Managers
    • Como el diseño de la intefaz se simplifica con el uso de LayoutManagers
    • El FlowLayout manager
    • El BorderLayout manager
    • El GridLayout manager
    • El CardLayout manager
    • El GridBagLayout manager
    • El BoxLayout manager
    • Posicionando los componentes a mano
    • Estrategias para usar los layouts de manera efectiva
  8. Componentes AWT
    • La clase Component
    • Creando componentes ligeros
    • Los tipos principales de ventanas: Panel, Applet, Frame y Dialog
    • Cerrando un frame desde un applet
    • Colocando un menu en un frame
    • Uso de la serialización de objetos para guardar componentes en disco
    • Proceso de eventos en los controls del GUI
    • Los tipos principales de controles: labels, buttonsm checkboxes, listboxes y textfields
  9. SWING Básico
    • Construyendo applets y aplicaciones con SWING
    • Cambiando el look and feel del GUI
    • Enmarcando a los componentes
    • Creando botones de texto e imagen
    • Usando HTML en las etiquetas y botones
    • Seleccionando colores usando el ColorChooser
    • Mandando alertas de dialogo para la entrada del usuario
    • Agregando marcos hijos a las aplicaciones
    • Construyendo barras de herramientas a la medida
    • Implementando un Web browser en Swing
  10. SWING Avanzado
    • Uso de modelos de datos y renderes adaptados
    • Agregando y eliminando opciones de un JList
    • Desplegando componentes a la medida en un JList
    • Creando pantallas de JTree
    • Adaptando iconos en pantallas de JTree
    • Creando un JTable scrollable
    • Edición de celdas en un JTable
    • Imprimiendo componentes Swing
    • Actualizando componentes Swing cuidando la concurrencia
  11. Programación concurrente con Threads.
    • Arrancando threads usando objetos Thread por separado
    • Arrancando threads dentro de un mismo objeto
    • Solucionando problemas comunes con threads
    • Acceso sincronizado a recursos compartidos
    • Métodos en la clase Thread
    • Explorando enfoques alternativos a las gráficas miltihilos
    • Implementando double buffering
    • Imagenes animadas
    • Control de Cronometros
  12. Programación en red.
    • Implementando un cliente de red generico
    • Procesando Strings con el StringTokenizer
    • Validación de direcciones de correo electronico
    • Traer archivos desde un servidor de HTTP
    • Traer documentos web usando la clase URL
    • Implementación de un servidor generico de red
    • Creación de un servidor HTTP
    • Convertiendo un servidor de un solo hilo en multihilos
    • Invocando objetos distribuidos con RMI