Programación orientada a objetos
Enviado por j04g3 • 3 de Junio de 2014 • 1.717 Palabras (7 Páginas) • 173 Visitas
Conceptos- Unidad 5
- Programación orientada a objetos -
Interfaces
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.
Los paquetes java.awt y javax.swing
Java.awt
► 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
► 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
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:
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
Componentes y contenedores
Componentes
Clase Descripción
Button Botones con un texto (Ej: Aceptar)
Canvas Rectángulo para dibujar
Choice Lista desplegable (ej: lista de países para elegir)
CheckBox Casillas cuadradas para marcar (como en un test)
Label Etiqueta: caracteres que se muestran en un contenedor
List Lista, similar a Choice pero constantemente desplegada
Scrollbar Barra de desplazamiento
TextField Campo de edición que puede utilizar el usuario para introducir datos
TextArea Similar a TextField pero permite introducir texto que ocupe varias líneas
Contenedores
Clase Descripción
Panel Contenedor básico que necesita formar parte de una ventana (o página)
Applet Panel preparado para formar parte de una página HTML
Window Una ventana sin título ni casillas para minimizar,cerrar,etc.
Frame Una ventana normal, con título
Dialog Ventana que se muestra sobre la ventana actual (Ej.: la típica ventana para preguntar "¿Está seguro de ...." y dos botones de Aceptar y Cancelar)
FileDialog Similar al anterior, pero especializado para la selección de ficheros (se suele utilizar en las opciones de "Abrir" o "Grabar como" )
Frame
La clase Frame representa en AWT una ventana tal y como estamos acostumbrados a verlas en un entorno gráfico. Dado que el resto de los componentes formarán parte de una ventana, parece lógico que comencemos por ella.
Tamaño
El tamaño se fija con el método void setSize(int, int) y la posición con setLocation(int,int). Ambos pertenecen a la clase Component. Ejemplo:
ventana.setSize(300, 100);
ventana.setLocation(100,50);
Estilos
Hablaremos de los "estilos" más adelante. De momento baste con decir que el método setLayout(Layout) determina el estilo de la ventana, es decir cómo se distribuyen los componentes en la ventana. Por ejemplo:
FlowLayout estilo = new FlowLayout();
ventana.setLayout(estilo);
hará que los componentes se sitúen uno al lado del otro, de izquierda a derecha y de arriba a abajo.
Añadir componentes
En este paso se añaden los componentes que se desee incluir en la ventana. Para eso se utiliza el método void add(Component) heredado de la clase Container. Por ejemplo:
Label etiq = new Label("Te estoy mirando...");
ventana.add(etiq);
Mostrar ventana
Esto se hace con el método setVisible heredado de Component.
ventana.setVisible(true);
Observaciones
En swing el componente correspondiente se llama JFrame, y permite indicar que se quiere salir de la aplicación al cerrar la ventana sin necesidad de escribir un objeto escucha, simplemente con:
JFrame ventana = new ...
....
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
...