Acceso a Bases de Datos en Java (V)
El recorrido de un objeto que implemente la interfaz ResultSet:
ResultSet rs = XXXXX;
while(rs.next())
{
}
Ahora se pueden ir extrayendo los datos usando los métodos getXXX() con dos posibles parámetros:
Nombre de la columna.
Índice de la columna de 1 a N.
Acceso a Bases de Datos en Java (VI)
Acceso a MetaDatos
Permite conocer la estructura de la base de datos (no su contenido).
Se usan las interfaces:
DataBaseMetaData: Aporta toda la información acerca del acceso a datos (nombres de tablas, columnas de una tabla, primary keys, foreign keys, …). Se extrae de la interfaz Connection.
DataBaseMetaData getMetaData()
ResultSetMetaData: Aporta información sobre la vista. Se extrae de la interfaz ResultSet.
ResultSetMetaData getMetaData()
Swing (I)
API que define un extenso conjunto de clases para manejar componentes visuales a nivel de ventana en el paquete javax.swing y subpaquetes.
Se basa en una API llamada AWT (Abstract Window Toolkit) definida en java.awt.
Gracias a la herencia se puede extender la funcionalidad básica.
Swing (II)
Todo componente visual hereda de java.awt.Component.
Define lo básico:
Tamaño.
Posición.
Dibujado.
Visibilidad/Habilitación.
Eventos:
Teclado
Ratón
Redimensionado
Jerarquía.
Swing (III)
Además de haber una jerarquía de clases, AWT, y por tanto Swing, define una jerarquía de componentes mediante inclusión.
Swing (IV)
La clase Container, además de ser un Component, permite almacenar Components.
Container tiene un Component.
De esta forma se puede hacer que algunos componentes contengan a otros, que a su vez pueden ser contenedores de otros etc…
Esta relación se crea usando el método add.
Swing (V)
Aunque se puede usar AWT, Swing es todavía más independiente de plataforma.
Swing añade nuevas funcionalidades avanzadas.
AWT y Swing poseen inmensidad de funcionamiento interno, desde control de hilos independientes hasta comunicación nativa con el Sistema Operativo.
Swing (VI)
Ventana:
En AWT: java.awt.Frame
En Swing: javax.swing.Jframe
Realmente la de Swing extiende a la de AWT.
Se suele extender de ellas para ampliar su funcionalidad.
Crean un hilo de ejecución paralelo al de la aplicación.
Es un Container por lo que puede contener a otros componentes.
Swing (VII)
Métodos principales:
void setVisible(boolean): Permite visualizar o no un componente.
void dispose(): Cierra la ventana.
void setSize(int, int): Asigna un tamaño a un componente.
Width = ancho
Height = alto.
java.awt.Dimension getSize(): Permite conocer el tamaño de un componente.
void setEnabled(boolean): Permite habilitar/Deshabilitar un componente.
Swing (VIII)
Panel:
En AWT: java.awt.Panel.
En Swing: javax.swing.JPanel.
En este caso no hay relación herencia.
Es el contenedor más sencillo.
Su utilidad suele ser la de poder manejar los componentes que engloba desde un único punto.
Ayuda a organizar los componentes.
Swing (IX)
Label:
En AWT: java.awt.Label.
En Swing: javax.swing.JLabel.
En este caso no hay relación de herencia.
Permite visualizar un texto simple.
Métodos principales:
void setText(String): Asigna el texto.
String getText(): Recoge el texto.
void setHorizontalAlignment(int): Sólo en Swing. Asigna el tipo de alineación horizontal del texto. Los valores están definidos en SwingConstants.
int getHorizontalAlignment(): Sólo en Swing. Recoge el tipo de alineación horizontal del texto.
void setAlignment(int): Sólo en AWT. Los valores están definidos en Label.
int getAlignment(): Sólo en AWT.
Swing (X)
Cuadros de texto:
En AWT: java.awt.TextField.
En Swing: javax.swing.JTextField.
En este caso no hay relación de herencia.
Permite introducir un texto de una línea.
Métodos principales:
void setText(String): Asigna el texto.
String getText(): Recoge el texto.
void setHorizontalAlignment(int): Sólo en Swing. Asigna el tipo de alineación horizontal del texto. Los valores están definidos en SwingConstants.
int getHorizontalAlignment(): Sólo en Swing. Recoge el tipo de alineación horizontal del texto.
void setAlignment(int): Sólo en AWT. Los valores están definidos en Label.
int getAlignment(): Sólo en AWT.
Swing (XI)
Áreas de texto:
En AWT: java.awt.TextArea.
En Swing: javax.swing.JTextArea.
En este caso no hay relación de herencia.
Permite introducir un texto de una línea.
Métodos principales:
void setText(String): Asigna el texto.
String getText(): Recoge el texto.
void append(String): Añade texto al final.
void insert(String, int): Inserta texto en una posición.
Swing (XII)
Botones:
Los hay de muchos tipos.
El tipo básico:
En AWT: java.awt.Button.
En Swing: javax.swing.JButton.
En este caso no hay relación de herencia.
Métodos principales:
void setLabel(String): Asigan el texto (Deprecated en Swing).
void setText(String): Asigna el texto.
String getLabel(): Recoge el texto (Deprecated en Swing).
String getText(): Recoge el texto.
Swing (XIII)
Botones con estado:
En AWT: java.awt.CheckBox.
En Swing: javax.swing.JCheckBox.
En este caso no hay relación de herencia.
Métodos principales:
void setLabel(String): Asigan el texto (Deprecated en Swing).
void setText(String): Asigna el texto.
String getLabel(): Recoge el texto (Deprecated en Swing).
String getText(): Recoge el texto.
boolean getState(): Recoge el estado (sólo en AWT).
Swing (XIV)
Contenedores de items:
Listas:
En AWT: java.awt.List
Métodos:
void add(String): Añade un elemento.
void remove(String): Elimina un elemento.
void remove(int): Elimina un elemento según su posición.
int getItemCount(): Indica el nº de elementos que contiene.
String getItem(int): Recoge un elemento según su posición.
String[] getItems(): Recoge todos los elementos.
int getSelectedIndex(): Recoge el índice del elemento seleccionado.
void select(int): Indica cúal debe ser el elemento seleccionado.
void setMultipleMode(boolean): Permite aplicar la selección múltiple.
boolean isMultipleMode(): Indica si permite selección múltiple.
String[] getSelectedItems(): Recoge los elementos seleccionados.
Swing (XV)
En Swing: javax.swing.JList
Para modificar su contenido se le asocia un concepto que implemente la interfaz javax.swing.ListModel. Existe una implementación por defecto javax.swing.DefaultListModel.
Métodos de DefaultListModel:
void add(int, Object): Añade un elemento en una posición.
void addElement(Object): Añade un elemento al final.
Object get(int): Recoge un elemento de una posición.
int getSize(): Indica el nº de elementos.
void remove(): Elimina elemento. Recibe o un int o un Object.
Métodos de JList:
void setModel(ListModel): Asigna un modelo.
int getSelectedIndex(): Indica el elemento seleccionado.
int[] getSelectedIndices(): Indica los elementos seleccionados.
int getSelectionMode(): Un valor definido en ListSelectionModel.
Swing (XVI)
Combo boxes:
Sólo en Swing: javax.swing.JComboBox
Para modificar su contenido se le asocia un concepto que implemente la interfaz javax.swing.ComboBoxModel. Existe una implementación por defecto javax.swing.DefaultComboBoxModel.
Métodos de DefaultComboBoxModel:
void addElement(Object): Añade un elemento en una posición.
Object getElementAt(int): Recoge un elemento de una posición.
int getSize(): Indica el nº de elementos.
void removeElement(Object): Elimina un elemento.
Métodos de JComboBox:
void setModel(ComboBoxModel): Asigna un modelo.
int getSelectedIndex(): Indica el elemento seleccionado.
int[] getSelectedIndices(): Indica los elementos seleccionados.
int getSelectionMode(): Un valor definido en ListSelectionModel.
Swing (XVII)
Layouts: Se definen ciertos conceptos para poder organizar los componentes dentro de un Container.
Los Layouts definen la interfaz LayoutManager y se relacionan con el Container mediante el método
void setLayout(LayoutManager)
El uso del Layout se especifica al añadir el componente al Container mediante las sobrecargas del método add().
Swing (XVIII)
java.awt.BorderLayout
Permite ordenar componentes de un Container usando los puntos cardinales:
NORTH, SOUTH, EAST, WEST y CENTER.
Estas constantes están definidas en la propia clase BorderLayout.
contenedor.add(componente, BorderLayout.NORTH)
java.awt.FlowLayout
Ordena los componentes de un Container de izquierda a derecha secuencialmente según el orden de inclusión usando el método add().
Página anterior | Volver al principio del trabajo | Página siguiente |