Tema 5
1.- Introducción
2.- Ventanas: la clase Frame
3.- Componentes Básicos
4.- Eventos de teclado y de ratón
5.- Estilos
6.- Dibujando
7.- Applets
8.- Diálogos y mensajes
Apéndice A: Un poquito de Swing
1.- Introducción
1.1 AWT y Swing
1.2 Un poco de filosofía
1.3 La jerarquía Component
1.1 AWT y Swing
Una de las razones del éxito deJava es la posibilidad desde las primeras versiones, de una gran cantidad de paquetes de clases destinadas al diseño de interfaces gráficas. En otros lenguajes (C, C++, etc.), las librerías de componentes gráficos dependían del fabricante del compilador particular que se decidiera utilizar. Esto favorecía la aparición de dialectos del lenguaje y la falta de uniformidad en el modelo propuesto.
Lavariedad de clases gráficas y sus inmensas posibilidades de diseño hacer que un buen programador en Java no sea sólo aquel que conoce los aspectos básicos del lenguaje y su filosofía; es necesario también un conocimiento detallado de las clases del API (application program interface) de Java y sus posibilidades.
Se pueden distinguir, principalmente, 2 grupos de clases destinadas al diseño deinterfaces gráficos en Java:
AWT
Swing
La primera (Abstract Window Toolkit) es la que vamos a estudiar en este curso. El conjunto de clases Swing nació a partir de AWT, simplificando los aspectos más engorrosos de AWT, dando mayor flexibilidad al programador para diseñar sus propios componentes gráficos (gracias all uso de beans) e incorporando numerosos componentes nuevos.
La pregunta que surge alleer esto es:
Si Swing es más sencillo, más flexible y más potente que AWT,
¿por qué no limitarse a estudiar las clases de Swing?
La razón principal es que, a pesar de ser Swing más fácil de manejar está basado en conceptos más complejos, difíciles de entender si primero no se conoce AWT; Swing contiene demasiado de AWT como para, simplemente, ignorarlo. La mayoría de los autores piensa que esmejor seguir al estudiar el lenguaje la evolución que han seguido sus diseñadores. Por eso nos limitaremos aquí al estudio de AWT. Si se comprenden los conceptos de este tema pasar posteriormente a Swing no supondrá ningún problema. Otro buena razón es que al ser AWT más antiguo, los applets de internet escritos en AWT funcionan en muchos más exploradores que los escritos con Swing. Por tanto usandoAWT nos aseguramos una mayor compatibilidad.
Observación: Por cada componente en AWT, el correspondiente componente en Swing suele tener el mismo nombre pero precedido de una letra J. Por ejemplo, los botones se representan en AWT mediante objetos de la clase Button y en Swing mediante objetos de la clase JButton, las ventanas mediante las clases Frame y JFrame, y así sucesivamente.
1.2 Unpoco de filosofía
El concepto básico de la programación gráfica es el componente. Un componente es cualquier cosa que tenga un tamaño una posición, pueda pintarse en pantalla y pueda recibir eventos (es decir, pueda recibir acciones por parte del usuario). Un ejemplo típico es un botón; el evento más normal que puede recibir es que el usuario de la aplicación pulse el botón. Podemos resumir losconceptos básicos de la programación gráfica con AWT:
Todos los componentes son o bien contenedores (como Frame) o bien componentes básicos (como Button).
Los componentes básicos siempre deben formar parte de un contenedor para ser visibles.
Los contenedores a su vez se pueden insertar en otros contenedores.
La posición de un componente en un contenedor depende del tamaño del contenedor y de suestilo (Layout).
Todo componente incluye un atributo de tipo Graphicsque se encarga de dibujarlo cuando hace falta. Si queremos dibujar en el componente tendremos que pedirle que nos "deje" su objeto de tipo Graphics.
Si queremos que un componente haga algo cuando le ocurra un evento determinado debemos pasarle un objeto tipo Listener al que él avisará llegado el momento.
Las idea clave de esta...
Regístrate para leer el documento completo.