PROGRAMACION GRAFICA

download PROGRAMACION GRAFICA

of 29

description

programacion grafica

Transcript of PROGRAMACION GRAFICA

  • Abstract Window Toolkit (AWT)

  • La clase ComponentTodos los componentes que puedan visualizarse en pantalla son subclases de la clase Component.

  • Jerarqua de la clase Component java.lang.Object java.awt.Component java.awt.TextComponent java.awt.TextField java.awt.TextArea java.awt.Canvas java.awt.Choice java.awt.Checkbox java.awt.Container java.awt.Label java.awt.List java.awt.Scrollbar

  • ContenedoresNos permite insertar componentes.La clase awt.Container es la que nos permite crear los contenedores.class java.awt.Containerclass java.awt.Panelclass java.applet.Appletclass java.awt.ScrollPaneclass java awt.Windowclass java.awt.Dialogclass java.awt.Frame

  • Labels (Etiquetas)Son usadas para displayar informacin que no puede ser modificada.ConstructoresLabel ( )Label (String s)Label (String s, int alignment)MtodosString getText( )void setText (String s)void setAlignment (int alignment)Label.LEFT, Label.CENTER, Label.RIGHTVer: MyLabel.html y MyLabel.java

  • Push Buttons (Botones)Constructores:Button()Button(String label)Mtodos:void setLabel(String label): Setea la etiqueta del botn con el nombre especificado.String getLabel(): Obtiene la etiqueta del botn.void addActionListener(ActionListener l): Agrega un listener para detectar los eventos que se producen con un botn.Ver Button1.java y Button1.html

  • ChoiceEste componente puede presentar un usuario con una serie de alternativas de las cuales solo una seleccin puede hacerse.Constructor:Choice(): Crea una nueva lista de seleccin.Mtodos:void add (String item): Agrega un item a la lista.String getItem(int index): Retorna el string correspondiente al ndice.void addItemListener(ItemListener l): Agrega un listener para detectar los eventos que se producen componente Choice.Ver ChoiceApplet.java y ChoiceApplet.html

  • Algunos mtodos de Choiceint getItemCount(): Retorna el nmero de items en el Choice. String getItem(int index): Obtiene la representacin String del correspondiente ndice (Los ndices comienzan en cero).int getSelectedIndex(): Retorna el ndice del item seleccionado actualmente.String getSelectedItem(): Representacin String del item seleccionado.

  • ListPermiten escoger entre una o ms opciones.Constructores:List(): Crea una nueva listaList(int rows): Crea lista con un nmero especfico de lneas.List(int rows, boolean multipleMode): Crea una nueva lista con cierto numero de filas y especifica si permite seleccin mltiple.Mtodos:void add(String item): agrega un item al final de la lista.void add(String item, int index): agrega un item en cierto ndice. Ver ListApplet.java y ListApplet.html

  • Algunos mtodos de Listint getItemCount(): Retorna el nmero de items en el List. void removeAll(): Remueve todos los items del List. int getSelectedIndex(): Retorna el item seleccionado (-1 si ningn item es seleccionado).int[] getSelectedIndexes(): Arreglo de items seleccionados. Si no hay items seleccionados, arreglo de longitud cero.String getSelectedItem(): Item seleccionado o null.String[]getSelectedItems(): Retorna arreglo de items seleccionados.

  • TextFieldCuadro de texto de una sola lnea.Constructores:TextField()TextField(int columns): Construye un campo de texto con un nmero especfico de columnas.TextField(String s): Construye un campo de texto que displaya s.Mtodos:void setEchoChar(char c): Setea el caracter a ser displayado a medida que el usuario tipea.void setEditable(boolean b) //true==editable Especifica si un TextField es editable.Ver TextFieldApplet.java

  • TextAreaConstructores:TextArea()TextArea(String text): Construye una nueva rea de texto con un texto especfico TextArea(int rows, int columns): Construye un area de texto con un nmero especfico de filas y columnas.Mtodos:void append(String str): agrega un texto dado a un text area.void setColumns(int columns): Setea el nmero de columnas para esta rea de texto.void setRows(int rows): Setea el nmero de filas para el rea de texto.Ver TextAreaApplet.java

  • Los administradores de diseoLayout managers

  • Layout Managers (Administradores de Diseo)Estos administradores, determinan el tamao y posicin del componente en el contenedor.Cuando el contenedor (container) necesita posicionar un componente, invoca al layout manager para que este lo haga.

  • VentajasPermiten representar de una manera ordenada los componentes en la pantalla.Cuando usamos los administradores no nos tenemos que preocupar, por ejemplo, de que se redimensione una ventana, ya que el propio administrador se encargar de reorganizar los componentes en el Container.

  • Tipos de administradores (Layout Managers)FlowLayoutBorderLayoutGridLayoutCardLayoutGridBagLayout

  • Cmo definirlo?Para utilizar un layout manager especfico, se usa el mtodo de la clase Container:setLayout(AdministradorDeDiseo)Por ejemplo:setLayout(new BorderLayout());Si no se especifica un layout manager se usa el default.Para la clase Panel (superclase de la clase Applet) el layout manager por default es: FlowLayout.Para la clase Frame, el layout manager por default es: BorderLayout.

  • FlowLayoutEs el administrador de diseo por defecto de la clase Panel, por ende de los applets.Coloca los componentes de izquierda a derecha en una fila, segn se van insertando en el contenedor, y cuando llega al borde del contenedor los sigue insertando en la siguiente fila.Este administrador posee 3 constructores:FlowLayout( )FlowLayout(int alineamiento)El alineamiento puede tomar los siguientes valores: FlowLayout.LEFT, FlowLayout.RIGHT, o FlowLayout.CENTER FlowLayout(int alineamiento, int dist_h, int dist_v).

  • Mtodos asociados a FlowLayoutEl alineamiento por defecto es centrado.

    Mtodos DescripcingetAlignment() Devuelve el tipo de alineacin establecido.setAlignment(int) Establece la alineacin de los componentes. getHgap() Devuelve la distancia horizontal que existe entre un componente y otro.getVgap() Devuelve la distancia vertical que existe entre un componente y otro.setHgap(int) Establece la distancia horizontal entre componentes.setVgap(int) Establece la distancia vertical entre componentes.

  • Ejemplo de FlowLayoutVer tambin: EjemploFrame.java

  • BorderLayoutAdministrador por defecto para los marcos (Frame) y cuadros de dilogo.Este administrador posee los siguientes constructores:BorderLayout()BorderLayout(int distancia_h, int distancia_v)

    Ver Botones.java

  • GridLayoutEste administrador divide el contenedor en una cuadrcula, cada una de estas albergar un componente.Todas las casillas son del mismo tamao.Los componentes se agregan de izquierda a derecha y de arriba hacia abajo.Tiene 3 constructores:GridLayout()GridLayout(int filas, int columnas)GridLayout(int filas, int columnas, int dist_h, int dist_v)Ver AdminGrid.java

  • Ejercicio en Clase

  • CardLayoutEste administrador es el nico que permite cambiar los componentes en pantalla en tiempo de ejecucin.Su potencia radica en el uso de paneles.Podremos en un instante determinado visualizar uno de los paneles dejando los otros paneles sin visualizar.

  • Pasos para usar un CardLayoutCrear un panel que tenga por administrador a CardLayout.Crear los diferentes paneles que contendr nuestra aplicacin, insertando, claro est, los componentes necesarios en cada panel.Aadir mediante el mtodo add() de la clase Container los paneles creados, al panel cuyo administrador es CardLayout.Usar los mtodos next(), previous(), first() o show() pertenecientes a la clase CardLayout para poder visualizar el panel correspondiente.

  • Constructores CardLayoutCardLayout()CardLayout(int distancia_h, int distancia_v)Mtodos de CardLayoutfirst(Container padre) Visualiza el primer contenedor.last(Container padre) Visualiza el ltimo contenedor.next(Container padre) Visualiza el siguiente contenedor.show(Container padre, String nombre) Visualiza un contenedor especfico.

  • GridBagLayoutSimilar al GridLayout, con las diferencias siguientes:Los componentes, pueden tener diferente tamao.Los componentes pueden ocupar ms de una celda.Los componentes se pueden agregar en cualquier orden.

  • Clase GridBagConstraintsEsta clase especifica las restricciones de los componentes que sern colocados en un GridBagLayout.Las propiedades son:anchor: Posicin del componente dentro de la celda: NORTH, NORTHWEST, CENTER, etc.insets (inttop, intleft, intbottom, intright) : es el margen que tienen los componentes dentro de la celda. gridx: Columna en la cual se pone al componente.gridy: Fila en la cual se pone al componente.gridwidth: Nmero de columnas que un componente ocupa (REMAINDER: todas las que restan).gridheight: Nmero de filas que un componente ocupa. (REMAINDER). (Ver GridBagDemo.java)

    *****************************