Download Laboratorio de Programación III
Document related concepts
no text concepts found
Transcript
Laboratorio de Programación III Profesor René Sandoval Ingeniero (E) Informática rene2160@gmail.com AWT AWT es el acrónimo de Abstract Window Toolkit Primera versión de Java. Es una biblioteca de clases de Java para el desarrollo de interfaces gráficas de usuario (GUI). Consume mas recursos. Posee mas de 30 componentes. Es la librería básica (o API). Sobre ella se construyo posteriormente otra mas flexible y potente: JFC/Swing La AWT se encuentra en el paquete java.awt.* 2º Semestre 2010 Laboratorio de Programación III 2 AWT Dispone de la mayoría de controles visuales estándar: Button (push, radio y check) Frame, Dialog Label List, Choice Scrollbar, ScrollPane TextField, TextArea Menu 2º Semestre 2010 Laboratorio de Programación III 3 AWT Los elementos básicos que componen la librería AWT son: Los componentes (java.awt.Component) como los: Los contenedores (java.awt.Container) como los: Frames, los Paneles, etc… que pueden contener componentes. Los gestores de posición (java.awt.LayoutManager) Button, Label, TextFields, etc que gestionan la disposición de los componentes dentro de los contenedores. Los eventos (java.awt.AWTEvent) que avisan de las acciones del usuario. 2º Semestre 2010 Laboratorio de Programación III 4 Interfaz Gráfica de Usuario (GUI) GUI: Acrónimo de Graphics User Interfaces “Componente de un sistema computacional que funciona como vinculo entre una persona y un computador” Ventana: Área rectangular que permite esta interacción. Los programas se representan en una o varias ventanas. Las interfaces de usuario deben ser faciles de usar (USABILIDAD). 2º Semestre 2010 Laboratorio de Programación III 5 Elementos Gráficos Frame 2º Semestre 2010 Laboratorio de Programación III 6 Elementos Gráficos Label 2º Semestre 2010 Laboratorio de Programación III TextField 7 Elementos Gráficos CheckBox CheckBoxGroup 2º Semestre 2010 Laboratorio de Programación III 8 Elementos Gráficos Choice List 2º Semestre 2010 Laboratorio de Programación III 9 Elementos Gráficos TextArea Button 2º Semestre 2010 Laboratorio de Programación III 10 Elementos Gráficos Gestores de Geometría FlowLayout BorderLayout 2º Semestre 2010 Laboratorio de Programación III GridLayout 11 Jerarquía de Objetos 2º Semestre 2010 Laboratorio de Programación III 12 Pasos para crear una UI 1. El área donde crearemos el GUI será el proporcionado por un contenedor, y que inicialmente será una ventana. 2. Definir el gestor de geometría que usaremos para el contenedor. Decidirá como se visualizan los componentes dentro del contenedor. 3. Crear los componentes que irán dentro del contenedor. 4. Añadir (visualizar) los componentes dentro del contenedor. 5. Enlazar con los escuchadores de eventos. 6. Si los componentes que creamos son contenedores se repite el ciclo otra vez. 2º Semestre 2010 Laboratorio de Programación III 13 Contenedores Necesarios para organizar los componentes en Grupos. Todo componente debe incluirse dentro de un contenedor Los contenedores también son componentes 4 Tipos de Contenedores: Frame Dialog Panel ScrollPane : : : : una ventana independiente ventana emergente para dialogos simplemente un marco panel con barra de scroll 2º Semestre 2010 Laboratorio de Programación III 14 Diseño de una Ventana Crear una ventana es el primer paso para crear una UI. 2º Semestre 2010 Laboratorio de Programación III 15 Diseño de una Ventana Marco de 300x300 pixels No tiene barra de menú No tiene ningún Componente Título “Ejemplo de Frame" Color de fondo por defecto Layout por defecto Fondo de la ventana vacío 2º Semestre 2010 Laboratorio de Programación III 16 Contenedores: Métodos Comunes Añadir componente Eliminar un componente Component add(Component c) panel.add(boton) void remove(Componente c) Elimina todos los componentes void removeAll() 2º Semestre 2010 Laboratorio de Programación III 17 Componentes: Métodos Comunes Pintar lo que esta dentro del componente Pintar el fondo del componente void setForeground(Color c) void setBackground(Color c) Establecer una fuente void setFont(Font f) 2º Semestre 2010 Laboratorio de Programación III 18 Componentes: Métodos Comunes Posicionamiento y Tamaño void setSize(int x, int y) void setLocation(Point p) Ubicar el componente en un punto del contenedor void setBounds(Rectangle r) Establecer tamaño del componente Establece las coordenadas del componente Habilitación void setEnabled(boolean b) Habilitar/Deshabilitar un componente void setVisible(boolean b) Hacer visible/oculto el componente 2º Semestre 2010 Laboratorio de Programación III 19 Modificando la Ventana Fijemos los colores de la ventana para que el fondo sea Azul y el texto resalte en Blanco. Sentencia setBackground( Color.blue ); setForeground( Color.white ); 2º Semestre 2010 Laboratorio de Programación III 20 Modificando la Ventana Mediante los métodos definidos en la clase Graphics, capturemos el titulo de la ventana con una fuente Times Roman de 24 puntos. Es necesario utilizar new con Font, ya que en Java, todos son objetos y no podríamos utilizar un nuevo font de caracteres sin antes haberlo creado. Sentencia public void paint( Graphics g ) { g.setFont( new Font( "TimesRoman",Font.BOLD,24 ) ); g.drawString( getTitle(),30,50 ); } Ahora cambiemos el color de la fuente dentro del método paint. g.setColor( Color.yellow ); 2º Semestre 2010 Laboratorio de Programación III 21 Clase Java.awt.Button Descripción Constructores Control de pulsación Button() Button(String label) Propiedades y Métodos String getLabel() void setLabel(String s) 2º Semestre 2010 Laboratorio de Programación III 22 Clase Java.awt.Label Descripción Constructores Etiqueta de texto estático Label() Label(String label) Label(String label, Label.LEFT|RIGTH|CENTER) Propiedades y Métodos String getText() void setText (String s) void setAlignment(Label.LEFT|RIGTH|CENTER) 2º Semestre 2010 Laboratorio de Programación III 23 Clase Java.awt.TextField Descripción Constructores Área de texto editable (una línea) Puede cambiar caracter (password) TextField() TextField(String label, int c) TextField(int c) Propiedades y Métodos String getText() String getSelectedText() void setText(String s) void setEchoChar(char c) carácter que cambia void setAlignment(Label.LEFT|RIGTH|CENTER) 2º Semestre 2010 Laboratorio de Programación III 24 Clase Java.awt.TextArea Descripción Constructores Área de texto editable (multilínea) SCROLLBARS_BOTH SCROLLBARS_NONE SCROLLBARS_HORIZONTAL_ONLY SCROLLBARS_VERTICAL_ONLY TextArea() TextArea(String tex) TextArea(String tex, int fil, int col) TextArea(String tex, int f, int c, int estilo) Propiedades y Métodos void append(String tex) int getRows() int getColumns() void setRows(int f) void setColumns(int c) 2º Semestre 2010 Laboratorio de Programación III 25 Clase Java.awt.Choice Descripción Constructores Lista de selección desplegable Choice() Propiedades y Métodos void add(String) String getItem(int pos) String getSelectedItem() int getItemCount() void insert(String s, int index) void remove(int pos)//c: carácter que cambia void remove(String item)//primera ocurrencia void removeAll()//todos void select(int pos) void select(String s) 2º Semestre 2010 Laboratorio de Programación III 26 Clase Java.awt.List Descripción Constructores Lista de selección (con deslizadores automáticos) List() List(int f) List(int f, boolean mul) //mul : selección multiple true Propiedades y Métodos void add(String) String getSelectedItem() int getItemCount() void remove(int pos)//c: carácter que cambia void remove(String item)//primera ocurrencia void removeAll()//todos void select(int pos) void select(String s) 2º Semestre 2010 Laboratorio de Programación III 27 Clase Java.awt.CheckBox Descripción Botones de comprobación Se pueden agrupar (CheckBoxGroup) Constructores CheckBox() CheckBox(String label, boolean est)// est: seleccionada Propiedades y Métodos String getLabel() void setLabel(String s) boolean getState() void setState (boolean est) 2º Semestre 2010 Laboratorio de Programación III 28 Clase Java.awt.CheckBoxGroup Descripción Agrupación de botones (CheckBox) Selección excluyente Constructores CheckBoxGroup() CheckBox(String label, boolean est, CheckBoxGroup chBG)// est: seleccionada Propiedades y Métodos CheckBox getSelectedCheckbox() void setSelectedCheckBox(CheckBox chB) 2º Semestre 2010 Laboratorio de Programación III 29 Clase Java.awt.Frame Descripción Constructores Contenedor principal Frame() Frame(String titulo) Propiedades y Métodos void setTitle(String s) String getTitle() void setCursor(int cursor) void setResizable(boolean res) void setIconImage(Image imagen)//.gif o jpg 2º Semestre 2010 Laboratorio de Programación III 30 Clase Java.awt.Scrollbar Descripción Constructores Barra de desplazamiento Scrollbar.HORIZONTAL Scrollbar.VERTICAL Scrollbar() Scrollbar(int orient) Scrollbar(int orient, int value, int visible, int min, int max) Propiedades y Métodos int getMaximum() int getMinimum() int getOrientation() int getValue() void setMaximum(int ma) void setMinimum(int mi) void setOrientation(int or) void setValue(int val) 2º Semestre 2010 Laboratorio de Programación III 31 Ejercicio Crear ventana que tenga un combo (choice), un botón y una caja de texto inhabilitada, dependiendo de la alternativa seleccionada y presionando el botón asignarlo a la caja de texto. 2º Semestre 2010 Laboratorio de Programación III 32