Beginning Sistemas de Información Java Presentación Listado siguiente
PresentaciónEntrada/SalidaBibliotecasSwingMarcosBotonesCuadros de texto
ListasImágenesMenúsDiálogosArchivosGráficos 2D 


Última versión de com.coti.tools (21/03/07)
Syllabus (26/09/10)
Otros programas ScreenCasts
Quijote (Zip) Datos entrada .zip

Bibliografía

Título
Editorial
Autor(es)
Java SE 6 & Swing Prentice Hall
(ISBN 978-84-8322-414-4)
José Rafael García-Bermejo Giner
Core Java 2, Volumen I - Fundamentos Prentice-Hall
(ISBN 84-205-4832-4)
Cay Horstmann, Gary Cornell
Core Java 2, Volumen II - Características avanzadas Prentice-Hall
(ISBN 978-84-8322-310-9)
Cay Horstmann, Gary Cornell


También procede mencionar los libros de Bruce Eckel, y especialmente "Thinking in Java". Este libro se puede consultar directament en la red, en formato HTML, y también se puede descargar en formato PDF.
La dirección de Sun ofrece, por supuesto, la información más actualizada, a cambio de una menor velocidad de acceso.

Recomendaciones

Construya una carpeta llamada sisinfo en el directorio principal (home, ~/, Mis Documentos, Documentos, etc.) de su cuenta personal. Dentro de esta carpeta, construya otra llamada tema_01. Los archivos que se describen a continuación deben almacenarse en la carpeta tema_01. Estos archivos se pueden y deben modificar a medida que mejore nuestra comprensión y conocimiento del tema tratado. Podrán complementarse con imágenes más adelante. [Busque "tutorial de html" en Google, cambie la extensión .txt por .html. No sabe escribir directamente HTML? Aprenda... es muy útil].
Evidentemente, deben crearse nuevas carpetas (tema_02, tema_03, etc) para almacenar en ellas otras carpetas con los archivos, programas y demás resultados que se construyan a lo largo del curso.

Observaciones

  1. No es usted tonto. Lo que ocurre es que está abordando un conjunto muy extenso de conceptos interdependientes; suele decirse que la Ciencia posee una estructura cerrada o circular, en la que uno comienza su camino y (eventualmente) llega a un final que es, precisamente, el punto en que comenzó su andadura.
  2. Los enlaces que se muestran a continuación ofrecen información complementaria; la bibliografía que se muestra en la página de presentación está adaptada específicamente a los contenidos del curso. No cometa el error de basarse en unos apuntes, por buenos que parezcan: un mal libro es mejor que unos buenos apuntes.
  3. No cometa el error de renunciar a sus propias notas (los "apuntes" son un 15% de las notas). Tome nota de lo que le parezca interesante. Añada diagramas. Clarifique. Haga suyas sus notas, es algo personal y muy agradable.
  4. La cantidad de información que ofrece en Inglés es mucho mayor que la que se ofrece en Español.
  5. Es completamente imprescindible aprender Inglés, al menos al nivel de traducción. Do this or suffer!!.
  6. La palabra inglesa "library" se traduce como "biblioteca".
  7. La palabra inglesa "requirement" se traduce como "requisito".
  8. No se quede con la duda. Consulte a un profesor. Consulte uno o varios libros. Consulte la Wikipedia o cualquier otro lugar de Internet. Consulte a un compañero. Indague: esa capacidad es la demostración de que ha pasado por la Universidad. De otro modo, usted habrá pasado por la Universidad, pero la Universidad no habrá pasado por usted.
  9. Muchas de las páginas web mencionadas a continuación contienen programas. Es muy recomendable ejecutarlos, corregir posibles problemas, modificarlos y, en general, extraer conclusiones interesantes de ellos. Los programas deben guardarse en una carpeta dentro del directorio al que pertenecen, dando a esa carpeta un nombre reconocible. La colección de archivos .txt y de programas que vaya creando a lo largo del curso van a ser una fuente de información realmente sustanciosa en el futuro, y no solo para esta asignatura.

Temario

  1. Entrada/Salida elemental en Java. Uso de Java a través de una shell. Parámetros de la línea de órdenes. Diferencias con el lenguaje C. Impresión de texto en pantalla. Lectura de datos procedentes del teclado. Lectura de valores numéricos. Creación de una clase con métodos estáticos para lectura a través del teclado. Posibles mejoras.
  2. Bibliotecas de clases. Java como lenguaje de dotado de una extensa biblioteca de clases. Las clases envelope o envoltorio. Clases para el manejo de cadenas (String y StringTokenizer) Colecciones en Java (Vector y Arrays). Tablas dispersivas (Hashtable).
  3. AWT y Swing. Origen de AWT y Swing: NextStep y Cocoa. Componentes gráficos reutilizables. Los pilares de un GUI en Java: componentes, contenedores y disposiciones. Jerarquía de clases: Component, Container y Layout. Generalidades.
  4. Marcos, Paneles y Disposiciones. Estudio de JFrame. Estudio de JPanel. Contenedores avanzados: JTabbedPane, JDesktopPane, JInternalFrame. Estudio de distintos administradores de disposición: CardLayout, BoxLayout. Un caso especial: GridBagLayout.
  5. Botones. Un componente fundamental en cualquier GUI. Modo de funcionamiento de los botones en Java. Concepto de ActionListener. El problema de la multiplicidad de botones. Resolución con múltiples ActionListener. Resolución con un único ActionListener. Estudio de JButton. Botones con representación gráfica. El problema del foco. Estudio de AbstractAction. Anticipación: las opciones de menú son botones. Necesidad y conveniencia de emplear una misma acción en botones y opciones de menù equivalentes.
  6. Cuadros de texto. Componentes fundamentales: JTextComponent. Estudio de JTextField. Estudio de JPasswordField. Estudio de JTextArea. Ejemplos con cuadros de texto. Ejemplos con cuadros de texto y botones.
  7. Listas. ¿Qué hacer cuando se deben mostrar y editar grandes volúmenes de datos? Estudio de JList: constructores, métodos principales. Uso de listas con selección a través del ratón. Uso de listas con botones. Un desarrollo adicional: JTable.
  8. Imágenes. La clase ImageIcon. ImageIcon y JLabel. Visualización de imágenes locales. Visualización de imágenes remotas. Imágenes y textos. Imágenes y listas. Imágenes y botones.
  9. Menús. Un componente fundamental de cualquier GUI. Creación de menús: estudio de JMenu, JMenuItem y JMenuBar. Menús Jerárquicos. Acciones asociadas a opciones de menús. Uso de aceleradores de teclado. Opciones de menús con imágenes.
  10. Diálogos. Cuadros de diálogo: Estudio de JOptionPane. Cuadros de diálogo predefinidos. Generación del cuadro. Interpretación de los resultados. Cuadros de advertencia y confirmación. Cuadros de selección. Creación de cuadros de diálogo con verificación de entrada de datos. Estudio de JDialog.
  11. Archivos. Estudio de File. Estudio de JFileChooser. Aplicación a cuadros de selección de archivos para lectura y escritura. Generación de filtros para la selección de tipos de archivos. Estudio de JFilter. Lectura de archivos de texto. Lectura de archivos encolumnados. Lectura de archivos delimitados. La clase StringTokenizer. Exportación de archivos con formato en columnado y delimitado. Problemas asociados a los separadores en distintas plataformas. Solución del problema mediante separadores con adaptación automática.
  12. Gráficos 2D. ¿Dónde se traza un gráfico? Visualización de caracteres. Visualización de imágenes almacenadas en archivos Primitivas básicas: rectas, rectángulos, óvalos. Generación de gráficos bidimensionales. Importación de datos a partir de archivos de texto.

Comentarios

Esta asignatura, totalmente práctica (0T+6P), posee las ventajas e inconvenientes propios de este tipo de estudio: no es preciso memorizar un temario más o menos largo y farragoso, pero es necesario realizar gran cantidad de "problemas" con objeto de dominar la asignatura.

Método de estudio

Esta asignatura no se puede abordar mediante "estudio", "memorización", "empolle" ni otros métodos de regurgitación. Ésta asignatura sólo se puede dominar mediante la práctica. El término práctica denota la realización personal y cuidadosa de los ejercicios que se plantean. Estos ejercicios se irán entregando y contarán a efectos de la calificación obtenida en esta asignatura. El examen final, práctico, consistirá en la realización de ejercicios similares a los realizados a lo largo del curso.
  1. En clase y
  2. En estas páginas.

Material recomendado

La versión de Java que se empleará es la 1.6, aun cuando la 1.5 puede emplearse sin problemas. Como editores se recomiendan TextPad o BBEdit/TextWrangler.

Como IDE cabe mencionar, entre muchas otros, los que siguen:



No hay que olvidar, desde luego, a make (si, make permite crear programas en Java, como se verá).

Exámenes

Curso 2010-2011 : Enero
Día: 27 de Enero de 2011
Hora: TBD
Aula: TBD
Curso 2010-2011 : Septiembre
Día: 7 de Septiembre de 2011
Hora: TBD
Aula: TBD
Se recuerda a los alumnos que no hayan aprobado la práctica obligatoria la necesidad de aportarla el día del examen (CD + descripción de la práctica en papel).


Página siguiente