Java jedi prev

Download Java jedi prev

Post on 13-Jun-2015

365 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<ul><li> 1. CURSO DEFebrero 2003JAVA Profesores: Albert Llastarri Rezola Roberto Ramrez Vique Autor: Ivn Prraga Garca</li></ul><p> 2. Prlogo Java 1 PRLOGOHola a todos, ante todo quisiera agradecer a Albert Llastarri su inestimable ayuda a lahora de realizar este manual de Java (especialmente en la parte de Swing) as como a losantiguos profesores del curso de los cuales he heredado algunos ejercicios y parte de laestructura del mismo y finalmente a todos los alumnos que han ido pasando por el curso yque gracias a sus comentarios han contribuido a mejorar esta documentacin.En esta tercera edicin se han aadido nuevos componentes grficos en el desarrollode GUIs y se han revisado, corregido y aumentado todos los captulos. A pesar de que hecorregido todos los errores tipogrficos y de contenido que se han ido localizando a lo largode ya 3 cursos con este manual, el hecho de que soy humano y de que se van aadiendocada cuatrimestre nuevos contenidos lo hace susceptible de contener errores. Se agradecerque se notifiquen los mismos (abajo encontris mi e-mail) para erradicarlos de prximasediciones.. Todos los ejercicios del curso han sido desarrollados y comprobados por m y alfinalizar el curso se os entregar un CD-ROM con todo el material; adems a lo largo delcurso se irn colgando versiones correctas de los programas que vayamos haciendo. He tratado de ilustrar todo el manual con ejemplos, grficos y tablas. Al final delmismo he incorporado ndices para acceder rpidamente a estos materiales as como unapndice con direcciones web interesantes. Al desarrollar el manual he tenido en cuenta las siguientes convenciones:el texto con este formato es cdigoeste texto es intrprete de comandosEjercicioeste texto es un ejercicio Bueno, pues por el momento esto es todo. Espero sinceramente que el curso os seaprovechoso y siempre que tengis cualquier tipo de duda no dudis en preguntar. Para cualquier comentario no dudis en mandarme un e-mail a ivanp@jedi.upc.es. El AutorIvn Prraga GarcaPrimera Edicin, Febrero 2002Segunda Edicin, Junio 2002Tercera Edicin, Enero 2003 3. ndiceJava 2 NDICE1Prlogo ...................................................................................................................... 12ndice ........................................................................................................................ 23Introduccin.............................................................................................................. 63.1 Breve historia de Java ....................................................................................... 63.2 Qu es Java?.................................................................................................... 84J2SDK, El entorno de programacin...................................................................... 114.1 Instalacin....................................................................................................... 124.2Qu aplicaciones hay en el J2SDK? ............................................................. 13 4.2.1 Compilacin: javac ................................................................................. 14 4.2.2 Ejecucin de aplicaciones: java .............................................................. 15 4.2.3 Ejecucin de applets: appletviewer ........................................................ 16 4.2.4 Correccin de errores: el debugger jdb................................................... 165Estructuras bsicas de programacin...................................................................... 175.1 Comentarios .................................................................................................... 175.2 Identificadores ................................................................................................ 185.3 Palabras reservadas ......................................................................................... 185.4Tipos de datos primitivos................................................................................ 185.4.1Enteros .................................................................................................... 18 5.4.2 Tipos en coma flotante............................................................................ 19 5.4.3 Caracteres: char ...................................................................................... 19 5.4.4 Booleanos: boolean................................................................................. 205.5 Declaraciones de variables ............................................................................. 205.6 Constantes ....................................................................................................... 205.7 Asignaciones ................................................................................................... 215.8 Strings ............................................................................................................. 215.9 Arrays ............................................................................................................. 225.10Operadores ...................................................................................................... 235.11 Estructuras de control de flujo ........................................................................ 24 5.11.1 Condicionales ......................................................................................... 24 5.11.2 Bucles ..................................................................................................... 255.12 Aserciones....................................................................................................... 26 5.12.1 Invariantes internos................................................................................. 27 5.12.2 Invariantes de control de flujo ................................................................ 28 5.12.3 Precondiciones, postcondiciones e invariantes de clase ......................... 295.13El mtodo main ............................................................................................... 296Programacin orientada a objetos........................................................................... 33 4. ndiceJava6.1Conceptos ....................................................................................................... 336.2Uso de clases ya existentes ............................................................................. 35 6.2.1 La API de Java ........................................................................................ 35 6.2.2 Declaracin de variables e instanciacin de objetos............................... 37 6.2.3 Invocacin de mtodos y acceso a atributos ........................................... 376.3 Creacin de nuestras propias clases................................................................ 386.3.1 Cuerpo de la clase ................................................................................... 386.3.2 Constructores .......................................................................................... 406.3.3 Acceso a los miembros del propio objeto ............................................... 406.3.4 Visibilidad public y private .................................................................... 406.3.5 Paso de parmetros ................................................................................. 416.3.6 Asignaciones, copias y comparaciones................................................... 426.3.7 Destruir objetos....................................................................................... 436.3.8 Miembros de clase .................................................................................. 436.4Herencia .......................................................................................................... 45 6.4.1 Conceptos y terminologa ....................................................................... 45 6.4.2 Sobrescribir mtodos .............................................................................. 46 6.4.3 La herencia como especializacin .......................................................... 47 6.4.4 Visibilidad protected............................................................................... 48 6.4.5 Polimorfismo y dynamic binding ........................................................... 486.4.6Casting de objetos ................................................................................... 496.4.7La clase Object ....................................................................................... 506.4.8Clases abstractas ..................................................................................... 516.4.9Interfaces................................................................................................. 526.4.10 Simulando la genericidad mediante herencia ......................................... 556.4.11 Agrupacin de clases .............................................................................. 587Excepciones ............................................................................................................ 617.1Introduccin.................................................................................................... 61 7.1.1Que es una excepcin? .......................................................................... 61 7.1.2Qu es un error? .................................................................................... 61 7.1.3Primer ejemplo ........................................................................................ 617.2Manejo de excepciones ................................................................................... 62 7.2.1Sentencias try y catch ............................................................................. 62 7.2.2Sentencia finally ..................................................................................... 63 7.2.3El mecanismo de pila de llamadas .......................................................... 64 7.2.4Categoras de excepciones ...................................................................... 65 7.2.5Excepciones ms frecuentes ................................................................... 667.2.6 La regla de "declarar o capturar" ............................................................ 667.3Creacin de excepciones de usuario ............................................................... 67 7.3.1 Introduccin............................................................................................ 677.3.1.1 Ejemplo ............................................................................................... 688Programacin grfica. El entorno Swing................................................................ 708.1Primer ejemplo ................................................................................................ 708.2Modo grfico .................................................................................................. 71 8.2.1Texto y fuentes ....................................................................................... 71 8.2.2Lneas...................................................................................................... 73 5. ndice Java 8.2.3Rectngulos............................................................................................. 73 8.2.4Polgonos ................................................................................................ 73 8.2.5valos ..................................................................................................... 74 8.2.6Arcos ....................................................................................................... 74 8.2.7Colores .................................................................................................... 75 8.2.8Un ejemplo completo.............................................................................. 758.3Swing .............................................................................................................. 77 8.3.1 Jerarqua de Swing.................................................................................. 77 8.3.2 ndice visual............................................................................................ 788.3.2.1 Contenedores de alto nivel en la jerarqua.......................................... 788.3.2.2 Contenedores de propsito general..................................................... 788.3.2.3 Contenedores de propsito especial.................................................... 79 8.3.2.4 Controles bsicos ................................................................................ 79 8.3.2.5 Pantallas no editables.......................................................................... 80 8.3.2.6 Pantallas editables o informacin formateada .................................... 808.3.3Un ejemplo ilustrativo ............................................................................ 808.3.4Layouts ................................................................................................... 81 8.3.4.1 FlowLayout ......................................................................................... 82 8.3.4.2 BorderLayout ...................................................................................... 82 8.3.4.3 CardLayout ......................................................................................... 83 8.3.4.4 GridLayout.......................................................................................... 83 8.3.4.5 GridBagLayout ................................................................................... 838.3.5Componentes de Swing .......................................................................... 84 8.3.5.1 JFrame ................................................................................................. 84 8.3.5.2 JPanel.................................................................................................. 84 8.3.5.3 Canvas................................................................................................. 85 8.3.5.4 JButton................................................................................................ 85 8.3.5.5 JLabel.................................................................................................. 85 8.3.5.6 JTextField ........................................................................................... 86 8.3.5.7 JTextArea............................................................................................ 87 8.3.5.8 JCheckBox.......................................................................................... 87 8.3.5.9 JRadioButton y BottonGroup ............................................................. 88 8.3.5.10 JComboBox .................................................................................... 88 8.3.5.11 JList................................................................................................. 89 8.3.5.12 Mens ....................................................................</p>