Download AWT
Document related concepts
no text concepts found
Transcript
AWT ABSTRAC WINDOW TOOLKIT 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .1 AWT • ¿Qué es? • Su estructura. – Los Componentes – Los Contenedores – Los gestores de posición – Los eventos 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .2 AWT ¿Qué es? • Es una librería de clases Java para desarrollar interfaces de usuario gráficas. • Es la librería básica y se ha construido una posterior que es la Swing. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .3 AWT Su estructura • La librería AWT esta compuesta por: – Los Componentes (java.awt.Component), como los Buttons, Labels,.. – Los Contenedores (java,awt.containers), contienen componentes. – Los gestores de posición (java.awt.LayoutManager), que posiciona los componentes dentro de los contenedores. – Los eventos (java.awt.AWTEvent), que nos indican las acciones del usuario. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .4 AWT Los componentes • Es una clase abstracta que representa todo lo que tiene una posición, un tamaño, puede ser pintado en pantalla y puede recibir eventos. • Los components de AWT son: Button Canvas Checkbox Choice Container Panel ScrollPane Window Label List Scrollbar TextComponent TextArea TextField – Dialog » FileDialog – Frame 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .5 AWT Los contenedores • Es una clase abstracta derivada de Component, que representa a cualquier componente que pueda contener otros componentes. • A su vez son componentes • El AWT proporciona varias clases de Contenedores: – Panel • Applet – ScrollPane – Window • Dialog – FileDialog • Frame 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .6 AWT Gestores de posición ¿Como controlar dónde añadimos los objetos? • Para ello se crearon los Layout Maneger, ellos se especifican unas posiciones determinadas en un panel, frame o applet donde añadiremos nuestros componentes o un nuevo panel, al que también le podremos añadir un layout en cuyas posiciones podremos añadir componentes o más panels con layouts.... 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .7 AWT Gestores de posición FlowLayout • Es el que tienen los paneles por defecto. • Los objetos se van colocando en filas en el mismo orden en que se añadieron al contenedor. • Cuando se llena una fila se pasa a la siguiente. • Tiene tres posibles constructores: FlowLayout();. FlowLayout(FlowLayout.LEFT[RIGTH][CENTER]); Crea el layout sin añadirle los componentes, con los bordes de unos pegados a otros FlowLayout(FlowLayout.LEFT, gap_horizontal, gap_vertical); Indica la alineación de los componentes: a la izquierda, derecha o centro con espacio entre los componentes. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .8 AWT Gestores de posición GridLayout • Crea un grid (malla) y va añadiendo los componentes a las cuadrículas de la malla de izquierda a derecha y de arriba abajo. • Todas las cuadrículas serán del mismo tamaño y crecerán o se harán más pequeñas hasta ocupar toda el área del contenedor. • Dos posibles constructores: GridLayout(int filas, int columnas); Creará un layout en forma de malla con un número de columnas y filas igual al especificado. GridLayout(int columnas, int filas, int gap_horizontal, int gat_vertical); Especifica espaciados verticales y horizontales entre las cuadrículas. El espaciado se mide en píxeles. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .9 AWT Gestores de posición BorderLayout • Este layout tiene cinco zonas predeterminadas son: Al cambiar el tamaño del contenedor se estirarán norte (NORTH) hacia los lados para llegar a ocupar toda el área disponible, pero sin variar su tamaño en la dirección sur (SOUTH) vertical. este(EAST) oeste (WEST) Variarán su tamaño en la dirección vertical pero sin nunca variarlo en la dirección horizontal. centro (CENTER) 22/11/2005 Crecerá o disminuirá en todas las direcciones para rellenar todo el espacio vertical y horizontal que queda entre las zonas norte, sur, este y oeste E.T.S de Ingenieros de Telecomunicación - UPNA .10 AWT Gestores de posición BorderLayout • Posee dos contructores: BorderLayout(); Que creará el layout sin más BordreLayout(int gap_horizontal, int gap_vertical); Creará el layout dejando los gaps horizontales y verticales entre sus distintas zonas. añadir más paneles o componentes a este Layout hay una pequeña diferencia aquí especificamos en el método add la región donde queremos añadir. panel.add(componente_a_añadir, BorderLayout.REGION_que_QUERAMOS); 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .11 EVENTOS DEFINICION • Evento: Encapsulación de la información que puede ser envada a la aplicación de manera asíncrona • Avisan de las acciones de usuario • Manejo de eventos: Se realiza mediante el uso de interfaces definidas en java.awt.event. Listener Interface 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .12 EVENTOS Tipos • FISICOS: – ComponentEvent – ContainerEvent – FocusEvent – KeyEvent – MouseEvent – MouseMotionEvent – WindowEvent 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .13 EVENTOS Tipos • SEMÁNTICOS: – ActionEvent – AdjustmentEvent – ItemEvent – TextEvent 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .14 EVENTOS ADAPTERS • Adapters: Son clases que tienen definidos todos los métodos de un interfaz concreto. – La implementación de dichos métodos está vacía. • Llamando a un Adapter y sobreescribiendo los métodos necesarios conseguimos el mismo resultado que implementando directamente el interfaz. – Heredando de un adapter extends. – Implementando directamente la interfaz implements. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .15 EVENTOS Métodos de los interfaces LISTENER INTERFACE ActionListener ADAPTER CLASS AdjustmentListener MÉTODOS actionPerformed adjustmentValueChanged ComponentListener ComponentAdapter 4 METODOS ContainerListener ContainerAdapter 2 METODOS FocusListener FocusAdapter ItemListener 22/11/2005 2 METODOS itemStateChanged E.T.S de Ingenieros de Telecomunicación - UPNA .16 EVENTOS Métodos de los interfaces LISTENER INTERFACE KeyListener ADAPTER CLASS KeyAdapter MÉTODOS 3 METODOS MouseListener MouseAdapter 5 METODOS MouseMotionListener MouseMotionAdapter 2 METODOS TextListener WindowListener 22/11/2005 textValueChanged WindowAdapter 7 METODOS E.T.S de Ingenieros de Telecomunicación - UPNA .17 AWT • CALCULADORA DE EJEMPLO EN JAVA – Utilizamos la tecnología AWT para crear el interface de la aplicación, como los botones, labels, marco…. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .18 DIAGRAMA DE CLASES: CALCULADORA 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .19 Bibliografía • Piensa en Java. Bruce Eckel. 2º Edición • www.javahispano.org – Curso J2SE – Tutorial Java básico con ejemplos (Abraham) • Tutorial de Java AWT. 22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA .20