Diferencia entre revisiones de «Usuario:ManuelRomero/javasintaxis»

De WikiEducator
Saltar a: navegación, buscar
(Layout GridBagLayout)
(Eventos)
Línea 21: Línea 21:
  
 
==Eventos==
 
==Eventos==
<source lang="java">
+
*Un ''''evento'''' es una ''acción o suceso'' que ocurre sobre un ''objeto'' que es sensible a dicha acción
 
+
*Ejemplo de un evento
import javax.swing.*;
+
**Hacer un click sobre un botón
 
+
**pasar el cursor del ratón por encima de un elemento de mi pantalla
import concesionario.Cliente;
+
**Un porceso le envía una señal a la impresora de que quiere imprimir
 
+
*Es típico de la programación visual que esté conducida por eventos
import java.awt.*;
+
Ahora el programa ya no tiene una secuación lógica de instrucciones para se ejecutada, no sigue un camino marcado
import java.awt.event.ActionEvent;
+
*El programa presenta una interfaz gráfica una serie de elementos gráficos u objetos
import java.awt.event.ActionListener;
+
*El usuario de la aplicación en función de lo que quiera hacer  realiza acciones en la interfaz gráfica
import java.sql.SQLException;
+
*La interfaz gráfica identifica esas acciones o eventos y ejecuta código asociado a dichas acciones
import java.awt.Event.*;
+
No todos los entornos de desarrollo gestionan los eventos de igual manera. Java realiza la gestión de eventos con lo que se
import java.sql.*;
+
 
+
public class ICliente extends JFrame{
+
 
+
+
// Definición de objetos gráficos para el interfaz
+
JLabel lNum = new JLabel ("Número");
+
JTextField  tNum = new JTextField(5);
+
JLabel lApellido = new JLabel("Apellido");
+
JTextField tApellido = new JTextField (5);
+
JLabel lNombre = new JLabel("Nombre");
+
JTextField tNombre = new JTextField (5);
+
JButton bPrimero = new JButton("primero");
+
JButton bAnterior = new JButton("anterior");
+
JButton bSiguiente= new JButton("siguiente");
+
JButton bUltimo = new JButton("ultimo");
+
//Paneles contenedores además del contenedor principal que es el frame
+
JPanel pDatos = new JPanel();
+
JPanel pBotones = new JPanel();
+
//Layout para distribución de objetos en el contenedor
+
FlowLayout fL = new FlowLayout();
+
BorderLayout bL= new BorderLayout();
+
BoxLayout bxL = new BoxLayout(this.getContentPane(),BoxLayout.LINE_AXIS);
+
+
//para poderme comunciar con otras clases
+
Cliente cliente = new Cliente();
+
    ResultSet consulta; //Para trabajar con el resultado de una consulta concreta
+
static Conexion conexion; //static para poder ser usada en el main que es static
+
+
+
+
 
+
public ICliente(){
+
//Ponemos los layout
+
pDatos.setLayout(fL);
+
pBotones.setLayout(fL);
+
    setLayout(bL);
+
   
+
    //Añadimos los objetos a los contenedores
+
    //primero los contenidos a los paneles
+
    pBotones.add(bPrimero);
+
    pBotones.add(bSiguiente);
+
    pBotones.add(bAnterior);
+
    pBotones.add(bUltimo);
+
   
+
    pDatos.add(lNum);
+
    pDatos.add(tNum);
+
    pDatos.add(lNombre);
+
    pDatos.add(tNombre);
+
    pDatos.add(lApellido);
+
    pDatos.add(tApellido);
+
   
+
   
+
    //Luego los paneles al JFrame
+
    add(pDatos,bL.PAGE_START);
+
    add(pBotones,bL.PAGE_END);
+
   
+
   
+
    //Colocamos y visualizamos el JFrame
+
    setBounds(100,100,600,200);
+
    setTitle("Recorrido de la tabla Clientes");
+
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+
    setVisible(true);
+
   
+
    //Cremos un objeto escuchador de la interfaz ActionListener
+
    ManejadorEventos elEscuchador= new ManejadorEventos();
+
   
+
    //Agregamos este objeto a los botones desde los que quieremos recoger el evento
+
    bPrimero.addActionListener(elEscuchador);
+
    bSiguiente.addActionListener(elEscuchador);
+
    bAnterior.addActionListener(elEscuchador);
+
    bUltimo.addActionListener(elEscuchador);
+
   
+
    //Realizamos la consulta para después moverme sobre ella (avanzar o retroceder).
+
    try{
+
    consulta  =conexion.hacerConsulta("Select * from clientes");
+
    }catch(SQLException ex){
+
    System.out.println("Error "+ex.getMessage());
+
    }
+
   
+
}
+
public void cargaDatos(Cliente c){
+
tNombre.setText(c.getNombre());
+
tApellido.setText(c.getApellido());
+
tNum.setText(c.getNumero().toString());
+
+
}
+
+
private class ManejadorEventos implements ActionListener{
+
public void actionPerformed(ActionEvent e) {
+
try{
+
if (e.getSource()== bPrimero){
+
      if (consulta.isFirst())
+
        JOptionPane.showMessageDialog(null,"Ya es el primer registro");
+
      else
+
      consulta.first();
+
      }
+
if (e.getSource()== bSiguiente){
+
      consulta.next();
+
      }
+
if (e.getSource()== bAnterior){
+
      consulta.previous();
+
      }
+
if (e.getSource()== bUltimo){
+
      if (consulta.isLast())
+
        JOptionPane.showMessageDialog(null,"Ya es el último registro");
+
      else
+
      consulta.last();
+
      }
+
  cliente.setDatos(consulta);
+
  cargaDatos(cliente);
+
}catch(SQLException ex){
+
JOptionPane.showMessageDialog(null,"La consulta no ha devuelto filas");
+
}
+
+
}
+
  }
+
 
+
+
public static void main(String []s){
+
try{
+
conexion = new Conexion();
+
}catch(SQLException e){
+
JOptionPane.showMessageDialog(null,"Error en conexion en bd "+e.getMessage());
+
}catch (ClassNotFoundException e){
+
JOptionPane.showMessageDialog(null,"Error en BD" +e.getMessage());
+
}
+
      ICliente elCliente = new ICliente();
+
}
+
}//End class
+
 
+
</source>
+

Revisión de 10:35 14 feb 2012


100px

Documentación inicial

Java

Entorno de desarrollo Java

Referencias online

JDK

JRE

Sintaxis básica

Eclipse

Ejemplo 1

Entorno gráfico swingx

Layout GridBagLayout

Eventos

  • Un 'evento' es una acción o suceso que ocurre sobre un objeto que es sensible a dicha acción
  • Ejemplo de un evento
    • Hacer un click sobre un botón
    • pasar el cursor del ratón por encima de un elemento de mi pantalla
    • Un porceso le envía una señal a la impresora de que quiere imprimir
  • Es típico de la programación visual que esté conducida por eventos

Ahora el programa ya no tiene una secuación lógica de instrucciones para se ejecutada, no sigue un camino marcado

  • El programa presenta una interfaz gráfica una serie de elementos gráficos u objetos
  • El usuario de la aplicación en función de lo que quiera hacer realiza acciones en la interfaz gráfica
  • La interfaz gráfica identifica esas acciones o eventos y ejecuta código asociado a dichas acciones

No todos los entornos de desarrollo gestionan los eventos de igual manera. Java realiza la gestión de eventos con lo que se