SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Prácticas de Lenguajes de Programación (Java) Ingeniería Informática
Curso 2004-2005 . Práctica 3 Universitat de València
Lenguajes de Programación Página 1 de 3
Índice
1. Interfaces ................................................................................................................. 1
2. Los paquetes java.awt y javax.swing....................................................................... 1
3. Tareas......................................................................................................................2
1. Interfaces
Una interfaz se define del mismo modo que una clase cambiando la palabra reservada
class por interface. Los métodos que define la interfaz no tienen cuerpo y terminan con
un punto y coma tras la lista de parámetros. Es responsabilidad de las clases que la
implementen definir el cuerpo de los métodos.
Se pueden declarar variables dentro de una interfaz y son final y static. Una interfaz se
puede declarar como public o sin modificador de acceso (por lo que solo podrá ser
vista por clases que estén en el mismo paquete o en el mismo directorio).
Si no se pueden crear objetos de una interfaz, ¿cuál es su utilidad? Su utilidad reside
en que define los requisitos mínimos que debe cumplir cualquier objeto que creemos a
partir de una clase que la implemente. Con ello nos aseguramos de que el objeto tiene
como mínimo el conjunto de métodos que declara la interfaz, pero cada clase que la
implemente especifica cómo se llevan a cabo las tareas que se han declarado en la
interfaz.
Cuando una clase implementa una interfaz se compromete a definir cuerpo a todos los
métodos impuestos por la interfaz.
Resumiendo:
Una interfaz declara, pero no implementa, las acciones mínimas que poseerá un
objeto creado a partir de una clase que la implemente. Es responsabilidad de las
clases que implementan la interfaz definir cómo se llevan a cabo todas y cada una de
las acciones declaradas por la interfaz.
2. Los paquetes java.awt y javax.swing
El paquete java.awt proporciona una serie de clases e interfaces para realizar
programas que se ejecuten en un entorno gráfico (AWT viene del inglés Abstract
Window Toolkit).
A continuación se presenta un listado de algunas de las clases de este paquete que
vamos a utilizar en esta práctica:
java.awt Descripción
Component Superclase abstracta de varios componentes del AWT.
Tiene un método public Graphics getGraphics() para
obtener el contexto gráfico sobre el que dibujar figuras o
componentes. Declara más de 200 métodos
Container Subclase de la anterior que puede contener otros
componentes. Tiene un método que nos permite añadir un
componente: Component add(Component comp)
Color Clase que representa un color
Prácticas de Lenguajes de Programación (Java) Ingeniería Informática
Curso 2004-2005 . Práctica 3 Universitat de València
Lenguajes de Programación Página 2 de 3
Graphics Encapsula el contexto gráfico que es utilizado por varios
métodos para mostrar la salida en una ventana. Tiene
además una serie de métodos para dibujar figuras
Point Clase para representar las coordenadas cartesianas x e y
JPanel Representa un área rectangular sobre la que la aplicación
puede dibujar. La aplicación debe crear una clase que
extienda a JPanel y sobreescribir el método void
paintComponent(Graphics g) para obtener la funcionalidad
que se desee. Es una subclase de Component
El paquete javax.swing proporciona una serie de clases e interfaces que amplían la
funcionalidad del anterior. Están escritos en Java y son independientes de la
plataforma. Se utiliza el término ligthweight para describir a estos elementos. La clase
de este paquete que vamos a utilizar es:
javax.swing Descripción
JFrame Clase que representa una ventana. El método
Container.getContentPane() debe utilizarse para obtener
un objeto del tipo Container que se utilizará para añadir
componentes a la ventana
Para realizar un programa que cree un entorno gráfico, hay que importar clases de
estos dos paquetes
3. Tareas
Junto con este enunciado se proporciona un fichero ZIP que contiene 7 archivos
JAVA, cada uno de los cuales contiene la definición de una clase o de una interfaz.
La primera tarea que se pide es:
• Ubicar cada fichero JAVA en el directorio que le corresponde de acuerdo con la
sentencia package presente en cada uno de ellos
• Incluir las sentencias import necesarias en cada fichero JAVA.
No utilizar la estructura: import nombre_paquete.*
sino: import nombre_paquete.NombreClase
para observar claramente las dependencias de unas clases/interfaces con otras
• Utilizar las palabras reservadas de visibilidad adecuadas para las clases y las
interfaces (public o nada) y los métodos (public, private, protected o nada)
presentes en los ficheros JAVA proporcionados.
En los ficheros proporcionados todas las clases e interfaces, y todos los métodos
tienen visibilidad de paquete. Se trata de ser lo más restrictivo que sea posible en
cuanto a visibilidad; es decir, calificar como público un método, una clase o una
interfaz sólo cuando sea estrictamente necesario SIN VARIAR LA
CONFIGURACIÓN EN LOS PAQUETES PROPUESTOS.
Una vez finalizada completamente esta tarea, el código se puede compilar sin errores
y la aplicación se puede ejecutar invocando la clase LanzaPrac3.
Prácticas de Lenguajes de Programación (Java) Ingeniería Informática
Curso 2004-2005 . Práctica 3 Universitat de València
Lenguajes de Programación Página 3 de 3
Se pide una segunda tarea consistente en:
• Escribir código para una clase Linea que implemente la interfaz Figura (y no
FiguraCerrada)
• Escribir código para una clase Trapecio que extienda la clase java.awt.Polygon e
implemente la interfaz FiguraCerrada
• Escribir código para una clase TrapecioRelleno que extienda la clase Trapecio
Y por último se pide:
• Escribir el código en la clase LanzaPrac3 de un sencillo menú por consola que nos
permita elegir qué figura queremos representar gráficamente
Comentarios a las clases e interfaces presentes en los ficheros JAVA proporcionados:
Figura es una interfaz que fija los requisitos que debe tener cualquier objeto que
quiera ser una figura: que se pueda obtener su longitud y que se pueda pintar
FiguraCerrada es una interfaz que extiende a la anterior y define un requisito más
para aquellas figuras que sean cerradas: este requisito es que se pueda calcular el
área
Circunferencia es una clase que implementa la interfaz FiguraCerrada, definiendo
cómo se calcula su longitud, cómo se pinta y cómo se calcula su área
CircunferenciaRellena es una clase que extiende Circunferencia y define su
propio método para pintar
VentanaDeDibujo es una clase que extiende la clase Jframe; en ella se guardan
todas la figuras que se van creando para pintarlas cada vez que sea necesario (por
ejemplo: cuando se mueva la ventana, cuando se maximice, cuando otra ventana
que la estaba ocultando la deja visible, etc.).
Además define una clase interna privada llamada Superficie (las clases internas
pueden tener los mismos modificadores de acceso que un atributo) de tal forma
que sólo VentanaDeDibujo pueda crear objetos del tipo Superficie. Superficie es
una subclase de JPanel y hay que reescribir su método paintComponent(Graphics
g) para que se vuelvan a pintar todas las figuras cuando se necesite
LanzaPrac3 es la clase que contiene el main(· · · ); lo único que hace es crear un
objeto del tipo VentanaDeDibujo y crear las figuras que se deseen

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Fundamentos u3 v1
Fundamentos u3 v1Fundamentos u3 v1
Fundamentos u3 v1
 
Apendice general 4 terminos de programador
Apendice general 4 terminos de programadorApendice general 4 terminos de programador
Apendice general 4 terminos de programador
 
Computación 3
Computación 3Computación 3
Computación 3
 
Fundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacionFundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacion
 
Curso netcsharp
Curso netcsharpCurso netcsharp
Curso netcsharp
 
Primer programa en java
Primer programa en javaPrimer programa en java
Primer programa en java
 
Java
JavaJava
Java
 
Portafoliojava
PortafoliojavaPortafoliojava
Portafoliojava
 
Portafoliojava
PortafoliojavaPortafoliojava
Portafoliojava
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
Informe Proyecto Final
Informe Proyecto FinalInforme Proyecto Final
Informe Proyecto Final
 
Base de datos avanzado i
Base de datos avanzado iBase de datos avanzado i
Base de datos avanzado i
 
Apuntes ejercicios programacion i
Apuntes ejercicios programacion iApuntes ejercicios programacion i
Apuntes ejercicios programacion i
 
Computación 3 sb04003 2013
Computación 3 sb04003 2013Computación 3 sb04003 2013
Computación 3 sb04003 2013
 
Computación 1 y 3
Computación 1 y 3Computación 1 y 3
Computación 1 y 3
 
Resumen semana2
Resumen semana2Resumen semana2
Resumen semana2
 
Lenguaje de Programación Java
Lenguaje de Programación JavaLenguaje de Programación Java
Lenguaje de Programación Java
 

Destacado

Funciones ... miguel v.
Funciones ... miguel v.Funciones ... miguel v.
Funciones ... miguel v.miguel174
 
Ernesto samonte how to use spybot-s&d
Ernesto samonte how to use spybot-s&dErnesto samonte how to use spybot-s&d
Ernesto samonte how to use spybot-s&dErnesto Samonte
 
ensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLA
ensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLAensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLA
ensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLALUIS PALLASCO
 
Historia de argentina-2643
Historia de argentina-2643Historia de argentina-2643
Historia de argentina-2643Silvinadroselli
 
Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...
Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...
Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...Axel Springer Marktforschung
 

Destacado (9)

Funciones ... miguel v.
Funciones ... miguel v.Funciones ... miguel v.
Funciones ... miguel v.
 
Ernesto samonte how to use spybot-s&d
Ernesto samonte how to use spybot-s&dErnesto samonte how to use spybot-s&d
Ernesto samonte how to use spybot-s&d
 
ensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLA
ensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLAensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLA
ensayo nanotecnología LUIS ANDRÉS PALLASCO SEVILLA
 
Trabajo día 1 Seguridad informatica.
Trabajo día 1 Seguridad informatica.Trabajo día 1 Seguridad informatica.
Trabajo día 1 Seguridad informatica.
 
Historia de argentina-2643
Historia de argentina-2643Historia de argentina-2643
Historia de argentina-2643
 
Parcial3 actividad2.11 2012170
Parcial3 actividad2.11 2012170Parcial3 actividad2.11 2012170
Parcial3 actividad2.11 2012170
 
Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...
Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...
Neue BILD der FRAU-Studie: Der Mann 2013 – Arbeits- und Lebenswelten – Wunsch...
 
Cultura de méxico!
Cultura de méxico!Cultura de méxico!
Cultura de méxico!
 
Ortografia
OrtografiaOrtografia
Ortografia
 

Similar a Java awt javax swing

Similar a Java awt javax swing (20)

investigacion unidad tres componentes y librerias
investigacion unidad tres componentes y libreriasinvestigacion unidad tres componentes y librerias
investigacion unidad tres componentes y librerias
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Conceptos estructuras de datos
Conceptos estructuras de datosConceptos estructuras de datos
Conceptos estructuras de datos
 
Leccion 11 Java
Leccion 11 JavaLeccion 11 Java
Leccion 11 Java
 
Apendice general 4
Apendice general 4Apendice general 4
Apendice general 4
 
Laboratorio interfaces
Laboratorio interfacesLaboratorio interfaces
Laboratorio interfaces
 
Interface-swt-swing.pptx
Interface-swt-swing.pptxInterface-swt-swing.pptx
Interface-swt-swing.pptx
 
Hola mundorafaelnavarroprieto
Hola mundorafaelnavarroprietoHola mundorafaelnavarroprieto
Hola mundorafaelnavarroprieto
 
Presentacion carlos
Presentacion carlosPresentacion carlos
Presentacion carlos
 
Java class library
Java class libraryJava class library
Java class library
 
Java desde 0
Java desde 0Java desde 0
Java desde 0
 
Lp pract2006
Lp pract2006Lp pract2006
Lp pract2006
 
Lec11 metodos
Lec11 metodosLec11 metodos
Lec11 metodos
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
01 fundamentos-java
01 fundamentos-java01 fundamentos-java
01 fundamentos-java
 
Lenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetosLenguajes de programación orientados a objetos
Lenguajes de programación orientados a objetos
 
Librerias java
Librerias javaLibrerias java
Librerias java
 
Clase swing
Clase swingClase swing
Clase swing
 
Apuntes de introduccion a la programación
Apuntes de introduccion a la programaciónApuntes de introduccion a la programación
Apuntes de introduccion a la programación
 

Java awt javax swing

  • 1. Prácticas de Lenguajes de Programación (Java) Ingeniería Informática Curso 2004-2005 . Práctica 3 Universitat de València Lenguajes de Programación Página 1 de 3 Índice 1. Interfaces ................................................................................................................. 1 2. Los paquetes java.awt y javax.swing....................................................................... 1 3. Tareas......................................................................................................................2 1. Interfaces Una interfaz se define del mismo modo que una clase cambiando la palabra reservada class por interface. Los métodos que define la interfaz no tienen cuerpo y terminan con un punto y coma tras la lista de parámetros. Es responsabilidad de las clases que la implementen definir el cuerpo de los métodos. Se pueden declarar variables dentro de una interfaz y son final y static. Una interfaz se puede declarar como public o sin modificador de acceso (por lo que solo podrá ser vista por clases que estén en el mismo paquete o en el mismo directorio). Si no se pueden crear objetos de una interfaz, ¿cuál es su utilidad? Su utilidad reside en que define los requisitos mínimos que debe cumplir cualquier objeto que creemos a partir de una clase que la implemente. Con ello nos aseguramos de que el objeto tiene como mínimo el conjunto de métodos que declara la interfaz, pero cada clase que la implemente especifica cómo se llevan a cabo las tareas que se han declarado en la interfaz. Cuando una clase implementa una interfaz se compromete a definir cuerpo a todos los métodos impuestos por la interfaz. Resumiendo: Una interfaz declara, pero no implementa, las acciones mínimas que poseerá un objeto creado a partir de una clase que la implemente. Es responsabilidad de las clases que implementan la interfaz definir cómo se llevan a cabo todas y cada una de las acciones declaradas por la interfaz. 2. Los paquetes java.awt y javax.swing El paquete java.awt proporciona una serie de clases e interfaces para realizar programas que se ejecuten en un entorno gráfico (AWT viene del inglés Abstract Window Toolkit). A continuación se presenta un listado de algunas de las clases de este paquete que vamos a utilizar en esta práctica: java.awt Descripción Component Superclase abstracta de varios componentes del AWT. Tiene un método public Graphics getGraphics() para obtener el contexto gráfico sobre el que dibujar figuras o componentes. Declara más de 200 métodos Container Subclase de la anterior que puede contener otros componentes. Tiene un método que nos permite añadir un componente: Component add(Component comp) Color Clase que representa un color
  • 2. Prácticas de Lenguajes de Programación (Java) Ingeniería Informática Curso 2004-2005 . Práctica 3 Universitat de València Lenguajes de Programación Página 2 de 3 Graphics Encapsula el contexto gráfico que es utilizado por varios métodos para mostrar la salida en una ventana. Tiene además una serie de métodos para dibujar figuras Point Clase para representar las coordenadas cartesianas x e y JPanel Representa un área rectangular sobre la que la aplicación puede dibujar. La aplicación debe crear una clase que extienda a JPanel y sobreescribir el método void paintComponent(Graphics g) para obtener la funcionalidad que se desee. Es una subclase de Component El paquete javax.swing proporciona una serie de clases e interfaces que amplían la funcionalidad del anterior. Están escritos en Java y son independientes de la plataforma. Se utiliza el término ligthweight para describir a estos elementos. La clase de este paquete que vamos a utilizar es: javax.swing Descripción JFrame Clase que representa una ventana. El método Container.getContentPane() debe utilizarse para obtener un objeto del tipo Container que se utilizará para añadir componentes a la ventana Para realizar un programa que cree un entorno gráfico, hay que importar clases de estos dos paquetes 3. Tareas Junto con este enunciado se proporciona un fichero ZIP que contiene 7 archivos JAVA, cada uno de los cuales contiene la definición de una clase o de una interfaz. La primera tarea que se pide es: • Ubicar cada fichero JAVA en el directorio que le corresponde de acuerdo con la sentencia package presente en cada uno de ellos • Incluir las sentencias import necesarias en cada fichero JAVA. No utilizar la estructura: import nombre_paquete.* sino: import nombre_paquete.NombreClase para observar claramente las dependencias de unas clases/interfaces con otras • Utilizar las palabras reservadas de visibilidad adecuadas para las clases y las interfaces (public o nada) y los métodos (public, private, protected o nada) presentes en los ficheros JAVA proporcionados. En los ficheros proporcionados todas las clases e interfaces, y todos los métodos tienen visibilidad de paquete. Se trata de ser lo más restrictivo que sea posible en cuanto a visibilidad; es decir, calificar como público un método, una clase o una interfaz sólo cuando sea estrictamente necesario SIN VARIAR LA CONFIGURACIÓN EN LOS PAQUETES PROPUESTOS. Una vez finalizada completamente esta tarea, el código se puede compilar sin errores y la aplicación se puede ejecutar invocando la clase LanzaPrac3.
  • 3. Prácticas de Lenguajes de Programación (Java) Ingeniería Informática Curso 2004-2005 . Práctica 3 Universitat de València Lenguajes de Programación Página 3 de 3 Se pide una segunda tarea consistente en: • Escribir código para una clase Linea que implemente la interfaz Figura (y no FiguraCerrada) • Escribir código para una clase Trapecio que extienda la clase java.awt.Polygon e implemente la interfaz FiguraCerrada • Escribir código para una clase TrapecioRelleno que extienda la clase Trapecio Y por último se pide: • Escribir el código en la clase LanzaPrac3 de un sencillo menú por consola que nos permita elegir qué figura queremos representar gráficamente Comentarios a las clases e interfaces presentes en los ficheros JAVA proporcionados: Figura es una interfaz que fija los requisitos que debe tener cualquier objeto que quiera ser una figura: que se pueda obtener su longitud y que se pueda pintar FiguraCerrada es una interfaz que extiende a la anterior y define un requisito más para aquellas figuras que sean cerradas: este requisito es que se pueda calcular el área Circunferencia es una clase que implementa la interfaz FiguraCerrada, definiendo cómo se calcula su longitud, cómo se pinta y cómo se calcula su área CircunferenciaRellena es una clase que extiende Circunferencia y define su propio método para pintar VentanaDeDibujo es una clase que extiende la clase Jframe; en ella se guardan todas la figuras que se van creando para pintarlas cada vez que sea necesario (por ejemplo: cuando se mueva la ventana, cuando se maximice, cuando otra ventana que la estaba ocultando la deja visible, etc.). Además define una clase interna privada llamada Superficie (las clases internas pueden tener los mismos modificadores de acceso que un atributo) de tal forma que sólo VentanaDeDibujo pueda crear objetos del tipo Superficie. Superficie es una subclase de JPanel y hay que reescribir su método paintComponent(Graphics g) para que se vuelvan a pintar todas las figuras cuando se necesite LanzaPrac3 es la clase que contiene el main(· · · ); lo único que hace es crear un objeto del tipo VentanaDeDibujo y crear las figuras que se deseen