TaT AvbravoTipsJavaSwing

(Difference between revisions)
(Created page with '==="Trucos Java Swing=== Contributed By; AVBravo '''Descargar el plugin desde''' [http://plugins.netbeans.org/plugin/39424/?show=true Desca…')
Line 2: Line 2:
   Contributed By; [[Aristides Villarreal Bravo  | AVBravo]]
   Contributed By; [[Aristides Villarreal Bravo  | AVBravo]]
-
'''Descargar el plugin desde'''
 
-
  [http://plugins.netbeans.org/plugin/39424/?show=true Descargar plugin]
 
-
----
 
-
  Muestra como utilizar le plugin para crear tu propio api de persistencia
 
-
 
-
[[File:Proyecto.png]]
 
-
  Ahora agregamos el Driver JDBC MYSQL
 
-
  [[File:Libraries.png]]
 
-
  dar clic en el plugin
 
-
  [[File:Plugin.png]]
 
-
  Seleccionamos la base de datos
 
-
  [[File:Databases.png]]
 
-
  Tenemos el API generado
 
-
  [[File:Source.png]]
 
-
 
-
  Damos clic derecho en el nombre del proyecto y seleccionamos Limpiar y 
 
-
  Construir
 
-
  [[File:Test.png]]
 
-
  Ahora en la carpeta dist de nuestro proyecto tenemos el jar con la
 
-
  persistencia de nuestra base de datos
 
-
  [[File:Jar.png]]
 
-
 
-
  Ahora creamos un nuevo proyecto
 
-
  [[File:Application.png]]
 
-
 
-
  En las propiedades del proyecto, agregamos el driver jdbc MySQL y el API de
 
-
  persistencia correspondiente al proyecto anterior que creamos.(archivo .jar)
 
-
  [[File:Jar2.png]]
 
-
 
-
  Bibliotecas necesarias
 
-
  [[File:Bibliotecas.png]]
 
-
 
-
  Esta es la clase principal
 
-
  [[File:Principal.png]]
 
-
 
 
-
  Agregamos el api
 
-
  [[File:Agregar.png]]
 
-
 
-
====Metodos..====
 
-
 
-
== Crear() ==
 
-
 
-
  Crea un registro nuevo en la tabla. Devuelve boolean si fue exitoso.
 
-
  Verifica que los campos requeridos tengan valores.
 
-
  Verifica si ya existe un registro con esos datos.
 
-
    Usuarios u = new Usuarios();
 
-
    UsuariosController uc = new UsuarioController();
 
-
    u.setCedula("1-1-1");
 
-
    u.setNombre("name");
 
-
    if(uc.Crear(u)){
 
-
      System.out.println("Guardado exitosamente”);
 
-
    }else{
 
-
      System.out.println("No se guardo el registro”);
 
-
    }
 
-
 
-
 
-
----
 
-
 
-
== Editar() ==
 
-
 
-
 
-
  Edita el registro actual. Devuelve boolean si fue exitoso.
 
-
  Verifica que los campos requeridos tengan valores.
 
-
    Usuarios u = new Usuarios();
 
-
    UsuariosController uc = new UsuariosController();
 
-
    u.setCedula("1-1-1");
 
-
    u.setNombre("new name");
 
-
    if(uc.Editar(u)){
 
-
      System.out.println(" Se edito exitosamente");
 
-
    }
 
-
    else{
 
-
      System.out.println("No se actualizo el registro");
 
-
    }
 
-
 
-
== EditarClavePrimaria() ==
 
-
 
-
 
-
Se utiliza cuando deseamos editar la clave primaria, se utilizan dos objetos 
 
-
uno  con los valores anteriores y otro se actualizara con los
 
-
nuevos valores en la clave primaria. Se cambiara el username avbravo por 
 
-
avbravo1
 
-
 
-
'''Nota:''' Para tablas relacionadas debe ser establecida la actualizacion en
 
-
cascada para las tablas relacionadas.
 
-
        User user_old = new User();
 
-
        User user_new = new User();
 
-
        UserController uc = new UserController();
 
-
        //indicamos la clave primaria existente
 
-
        user_old.setUsername("avbravo");
 
-
        User u = uc.findByPrimaryKey(user_old);
 
-
        if (u != null) {       
 
-
            user_old = u;
 
-
            //indicamos la nueva clave primaria
 
-
            user_new.setUsername("avbravo1");       
 
-
            if (uc.EditarClavePrimaria(user_old, user_new)){
 
-
                System.out.println("Se actualizo la clave primaria");
 
-
            }
 
-
            else{
 
-
                System.out.println("no se actualizo");
 
-
            }
 
-
        } else {
 
-
            System.out.println("No hay registros");
 
-
        }
 
-
 
-
[[File:Cascada.png‎]]
 
-
 
-
== Eliminar() ==
 
-
 
 
-
Elimina el registro actual. Devuelve boolean si fue exitoso.
 
-
  Usuarios u = new Usuarios();
 
-
  UsuariosController uc = new UsuariosController();
 
-
  u.setCedula("1-1-1");
 
-
  if (Mensajeria.PreguntaSiNo("Desea eliminar el usuario", 
 
-
      "Usuarios").equals("si")) {
 
-
      if (uc.Eliminar(u)) {
 
-
          System.out.println(" Se elimino exitosamente");
 
-
      } else {
 
-
        System.out.println(""No se elimino el registro");
 
-
    }
 
-
  }
 
-
 
-
 
-
----
 
-
 
-
== EliminarTodos() ==
 
-
 
-
    Elimina todos los registros de la tabla. Devuelve boolean si fue exitoso.
 
-
    Usuarios u = new Usuarios();
 
-
    UsuariosController uc = new UsuariosController();
 
-
    u.setCedula("1-1-1");
 
-
    if (Mensajeria.PreguntaSiNo("Desea eliminar todos los usuario",
 
-
      "Usuarios").equals("si")
 
-
    {
 
-
    if (uc.EliminarTodos()) {
 
-
        System.out.println(" Se eliminaron todos los usuarios exitosamente");
 
-
      } else {
 
-
        System.out.println("No se eliminaron los usuarios");
 
-
    }
 
-
  }
 
-
 
-
== ExisteRegistro(Clase) ==
 
-
  Devuelve un booleano si existe el registro.
 
-
  Usuarios u = new Usuarios();
 
-
  UsuariosController uc = new UsuariosController();
 
-
  u.setCedula("1-1-1");
 
-
  if(uc.ExisteRegistro(u)){
 
-
    System.out.println("Existe un registro con esa cédula");
 
-
  } else {
 
-
    System.out.println("NO existe un registro con esa cédula");
 
-
  }
 
-
----
 
-
 
-
== findByPrimaryKey() ==
 
-
 
-
  Encuentra el registro con la clave primaria. Se debe asignar la llave primaria 
 
-
  a buscar.
 
-
  Devuelve un objeto con los resultados o null si no encuentra el registro.
 
-
  Usuarios u = new Usuarios();
 
-
  UsuariosController uc = new UsuariosController();
 
-
  u.setCedula("1-1-1");
 
-
  Usuarios u2 = uc.findByPrimaryKey(u);
 
-
  if (u2 != null) {
 
-
    u = u2;
 
-
    System.out.println(" Nombre" + u.getNombre());
 
-
  } else {
 
-
    System.out.println("No se encontro un registro con esa clave");
 
-
  }
 
-
 
-
----
 
-
 
-
== findBy... ==
 
-
 
-
 
-
  Se crean los metodos con todos los campos para realizar la busqueda y
 
-
  devuelve un boolean indicando si se encontro y se carga la lista de objetos de   
 
-
  esa clase que podemos recorrer.
 
-
 
-
 
-
----
 
-
 
-
== findByNombre ==
 
-
    Usuarios u = new Usuarios();
 
-
    UsuariosController uc = new UsuariosController();
 
-
    u.setNombre("name");
 
-
    if(uc.findByNombre(u)){
 
-
      for(Usuarios u1:uc.getUsuarioslist()){
 
-
        System.out.println("cedula "+ u1.getCedula() + " nombre " +
 
-
        u1.getNombre());
 
-
      }
 
-
    }
 
-
    else{
 
-
      System.out.println("No se encontro un registros con ese nombre");
 
-
    }
 
-
 
-
----
 
-
 
-
== findByMapa() ==
 
-
 
-
    Parametros para Consultas.
 
-
    1.Crear un Map para indicar los parametros
 
-
    2. Establece los parametros mediante el metodo put
 
-
    3. Llamar al metodo findByMapa
 
-
    4. Si no hay registros devuelve false
 
-
      4.1 Si es un solo registros obtenemos el primero posición 0
 
-
        UsuariosController uc = new UsuariosController();
 
-
        Map<String, String> parametros = new HashMap<String, String>();
 
-
        parametros.put("nombre", "uno");
 
-
        if(uc.findByMapa(parametros)){
 
-
          for(Usuarios u: uc.getUsuarioslist()){
 
-
            System.out.println("cedula " + u.getCedula() + "nombre " + u.getNombre());
 
-
        }
 
-
        }else{
 
-
          System.out.println("No existen registros con esa condicion”);
 
-
        }
 
-
      Nota: El Query puede ser usado para consultas también.
 
-
 
-
== Query() ==
 
-
'''Para consultas se puede implementar la clausula where'''
 
-
  String sql = "nombre= 'aristides villarreal bravo' order by cedula desc";
 
-
  if (uc.Query(sql)) {
 
-
    for( Usuarios u: uc.getUsuarioslist()){
 
-
    System.out.println("cedula " + u.getCedula() + "nombre " + u.getNombre());
 
-
    }
 
-
  } else {
 
-
    System.out.println("No existen registros con esa condicion");
 
-
  }
 
-
 
-
'''//Tambien para obtener la lista ordenada'''
 
-
  String sql = "order by cedula desc";
 
-
  if (uc.Query(sql)) {
 
-
    for( Usuarios u: uc.getUsuarioslist()){
 
-
    System.out.println("cedula " + u.getCedula() + "nombre " + u.getNombre());
 
-
    }
 
-
  } else {
 
-
    System.out.println("No existen registros con esa condicion"); 
 
-
      }
 
-
 
-
== Listar() ==
 
-
 
-
Devuelve una lista de objetos, la operación que realiza es select * from tabla
 
-
  Usuarios u = new Usuarios();
 
-
  UsuariosController uc = new UsuariosController();             
 
-
  if(uc.Listar()){
 
-
    for( Usuarios u: uc.getUsuarioslist()){
 
-
    System.out.println("cedula " + u.getCedula() + "nombre " + u.getNombre());
 
-
    }
 
-
  }else{
 
-
System.out.println("No existen registros");
 
-
  }
 
-
 
-
== Informe de Generacion ==
 
-
 
-
  El plugin genera el archivo llamado InformeGeneracion.txt
 
-
  en el directorio generales en el que se incluyen los mensajes del proceso y la 
 
-
  verificacion de la estructura de las tablas, como por ejemplo
 
-
  1. Te la tabla tenga llave primaria
 
-
  2. Que no tenga claves foraneas de manera ciclica(haciendo referencia a ella
 
-
    misma)
 
-
 
-
[[File:Tablas.png]]
 
== Combo==
== Combo==

Revision as of 20:47, 26 October 2011

Contents

"Trucos Java Swing

 Contributed By;  AVBravo




Combo

  Cargar un Combo
 File:Combo.png
  Arrastramos las clases al formulario.
  En Bibliotecas-> TestPersistence.jar-> En el paquete beans arrastramos    
  Usuarios.class y controller arrastramos UsuariosController.class
  File:Arrastrar.png

  Si usamos SwingX arrastramos un JXComboBox o un simple JComboBox
  en el init del formulario. Agregamos
  AutoCompleteDecorator.decorate(jXComboBoxUsuarios);
  CargarCombo();


Ahora cargamos el combo

  private void CargarCombo() {
       try {
           jXComboBoxUsuarios.removeAllItems();
           if (usuariosController1.Listar()) {
               for (Usuarios u : usuariosController1.getUsuarioslist()) {
                   jXComboBoxUsuarios.addItem(u.getNombre());
               }
           } else {
               Mensajeria.Mensaje("No existen registros de usuarios");
           }
       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "CargarCombo()");
       }
   }

Ahora en el actionPerformed del combo

try {
           int a = jXComboBoxUsuarios.getSelectedIndex();
           if (a != -1) {
               usuarios1 = usuariosController1.getUsuarioslist().get(a);
               jTextFieldCedula.setText(usuarios1.getCedula());
               jTextFieldNombre.setText(usuarios1.getNombre());
           }
       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "Seleccion Combo()");
       }


Seleccionar automáticamente un elemento

  jXComboBoxUsuarios.setSelectedItem(usuarios1.getNombre());


Formulario Edicion combos relacionados

  Si tenemos tablas relacionadas y esta las mostramos mediante combos como se    
  muestra en la siguiente figura.

File:Miscombos2011.png‎

 Cuando seleccionamos el primer combo y establecemos el setSelected para el 
 siguiente combo, en el metodo de validación de este debemos llamar nuevamente 
 al metodo listar.

En el init() cargamos los dos combos

 CargarComboGrupoGastoSegunObjeto();
       CargarComboGastos();

private void CargarComboGastos() {
       try {
           jXComboBoxGastos.removeAllItems();
           if (gastossegunobjetoController1.Listar()) {
               for (Gastossegunobjeto gastossegunobjeto :   
              gastossegunobjetoController1.getGastossegunobjetolist()) {
               
    jXComboBoxGastos.addItem(gastossegunobjeto.getIdgastosegunobjeto() + "-" + gastossegunobjeto.getGastosegunobjeto().trim());
               }
           } else {
               Mensajeria.Mensaje("No se han creado los grupos");
           }
       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "CargarComboGrupo)");
       }
   }
   private boolean CargarComboGrupoGastoSegunObjeto() {
       try {
           jXComboBoxGrupoGastos.removeAllItems();
           if (grupogastossegunobjetoController1.Listar()) {
               jXComboBoxGrupoGastos.removeAllItems();
               for (Grupogastossegunobjeto g : grupogastossegunobjetoController1.getGrupogastossegunobjetolist()) {
                   jXComboBoxGrupoGastos.addItem(g.getIdgrupogastosegunobjeto() + " - " + g.getGrupogastosegunobjeto());
               }
               return true;
           } else {
               Mensajeria.Mensaje("Debe crear primero el grupo de gastos segun objeto  para crear gastos segun objeto");
           }
       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "CargarComboGrupoGastoSegunObjeto()");
       }
       return false;
   }

En el primer combo---

    try {
           boolean habilitar = false;
           int i = jXComboBoxGastos.getSelectedIndex();
           if (i != -1) {
               gastossegunobjeto1 = gastossegunobjetoController1.getGastossegunobjetolist().get(i);
               jTextFieldGasto.setText(gastossegunobjeto1.getGastosegunobjeto());
               habilitar = true;
               Grupogastossegunobjeto gg1 = new Grupogastossegunobjeto();
               gg1.setIdgrupogastosegunobjeto(gastossegunobjeto1.getIdgrupogastosegunobjeto());
               if (grupogastossegunobjetoController1.findByIdgrupogastosegunobjeto(gg1)) {
                   for (Grupogastossegunobjeto grupogastossegunobjeto2 : grupogastossegunobjetoController1.getGrupogastossegunobjetolist()) {
                       jXComboBoxGrupoGastos.setSelectedItem(grupogastossegunobjeto2.getIdgrupogastosegunobjeto() + " - " + grupogastossegunobjeto2.getGrupogastosegunobjeto());
                   }
               } else {
                   Mensajeria.Mensaje("No existe un grupo de gastos con el codigo " + gg1.getIdgrupogastosegunobjeto());
               }
           }
      
       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "Combo");
       }

Boton Guardar int i = jXComboBoxGrupoGastos.getSelectedIndex(); Importante llamar nuevamente el metodo listar del segundo combo

           grupogastossegunobjetoController1.Listar();
           if (i != -1) {
               grupogastossegunobjeto1 = grupogastossegunobjetoController1.getGrupogastossegunobjetolist().get(i);
           } else {
               Mensajeria.Mensaje("No se ha seleccionado ningun grupo");
               return;
           }
           gastossegunobjeto1.setGastosegunobjeto(jTextFieldGasto.getText());
           gastossegunobjeto1.setIdgrupogastosegunobjeto(grupogastossegunobjeto1.getIdgrupogastosegunobjeto());
           gastossegunobjeto1.setUsername(SesionLocal.getUsername());
           gastossegunobjeto1.setFechausername(SesionLocal.getFechausername());
           if (gastossegunobjetoController1.Editar(gastossegunobjeto1)) {
               Mensajeria.Mensaje("Se actualizo el registro");
               CargarComboGastos();
           } else {
               Mensajeria.Mensaje("No se actualizo");
           }

jCheckBox

No hacer binding de checkbox
File:Jcheck.png
y validar el valor
  if (jCheckBox1.isSelected()) {
               usuario1.setActivo(true);
           } else {
               usuario1.setActivo(false);
           }
  Podemos indicar si esta seleccionado por defecto

File:Check2.png

Tablas JTable

  Arrastrar un JTable o JXTable a un formulario
  Ajustamos el diseno
  File:Jtable.png

Arrastramos el beans y el controller.

 Definimos variables
 DefaultTableModel modelo;
   int fila = -1;

Ahora en el init

  modelo = (DefaultTableModel) jXTable1.getModel();
       try {
           if (usuariosController1.Listar()) {
               Object[] columna = new Object[3]; // Hay tres columnas en la tabla
               for (Usuarios u : usuariosController1.getUsuarioslist()) {
                   columna[0] = u.getCedula();
                   columna[1] = u.getNombre();
                   modelo.addRow(columna);
               }
           }
       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "Tablas()");
       }

Eliminar lass filas de un JTable

  if(modelo != null){
        while (modelo.getRowCount() > 0) {
                   modelo.removeRow(0);
               }
  }

Recorrer la Tabla

 int n = jTable1.getRowCount();
           if (n == 0) {
               Mensajeria.Mensaje("No existe ninguna fila en la tabla");
               return;
           }                     
           String cedula;
           String nombre;      
     for (int i = 0; i < n; i++) {
         cedula = jTable1.getValueAt(i, 0).toString();
         nombre = jTable1.getValueAt(i, 1).toString();
     }

Actualizar columna de la tabla

 for (int i = 0; i < n; i++) {
         cedula = jTable1.getValueAt(i, 0).toString();
         nombre = jTable1.getValueAt(i, 1).toString();
         nombre="Mr " +nombre;
         jTable1.setValueAt(nombre, i, 1);
     }
   File:Init.png

Eventos a nivel de fila y agregar un menu en JTable

1. Definimos los objetos

JPopupMenu popupMenu = new JPopupMenu("Menu");
   JMenuItem menu1= new JMenuItem("Opcion 1");
   JSeparator separator0 = new javax.swing.JSeparator();
   JMenuItem menuCerrar = new JMenuItem("Cerrar");
   int fila;

2. En el evento init

 TableColumn column = jTable1.getColumnModel().getColumn(0);
       column.setPreferredWidth(30);
       column.setCellEditor(new DefaultCellEditor(comboRumboLatitud));
       comboRumboLatitud.addActionListener(new java.awt.event.ActionListener()      
       {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               ComboAction(evt);
           }
       });       
        /*
        * Action del menu
        */
        menu1.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               jMenuItem1ActionPerformed(evt);
           }
       });
       menuCerrar.addActionListener(new java.awt.event.ActionListener() {
           public void actionPerformed(java.awt.event.ActionEvent evt) {
            //   jMenuItemCerrarctionPerformed(evt);
           }
       });
         popupMenu.add(menu1);
         popupMenu.add(separator0);
         popupMenu.add(menuCerrar);
         TableColumn columnPopup = jTable1.getColumnModel().getColumn(1);
           this.jTable1.addMouseListener(new MouseAdapter() {
               public void mouseClicked(MouseEvent e) {
                   if (SwingUtilities.isRightMouseButton(e)) {
                       popupMenu.show(jTable1, e.getX(), e.getY());
                   }
                   fila = jTable1.rowAtPoint(e.getPoint());
                   int columna = jTable1.columnAtPoint(e.getPoint());
                   if ((fila > -1) && (columna > -1)) {
                       String valorColumna =      
                        String.valueOf(jTable1.getValueAt(fila, 1));                
                   }
               }
           });
  //Creamos los eventos
   private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
       try {      
           String valor = String.valueOf(jTable1.getValueAt(fila, 1));
         JOptionPane.showMessageDialog(this, valor);
       } catch (Exception ex) {           
       }
   }
  File:Menu1.png
  File:Menu2.png

Eventos de una Columna de un JTable

1. Definir un objeto

 JTextField fieldGrados;
 int filas;

2. En el init del formulario

 fieldGrados = new JTextField();
       fieldGrados.addActionListener(new java.awt.event.ActionListener() {           
          public void actionPerformed(java.awt.event.ActionEvent evt) {
               jTextFieldGradosActionPerformed(evt);
           }
       });
  TableColumn  column = jTable1.getColumnModel().getColumn(3);
       column.setCellEditor(new DefaultCellEditor(fieldGrados));
       column.setPreferredWidth(80);

3. Crear el método

   private void jTextFieldGradosActionPerformed(java.awt.event.ActionEvent evt)    
   {       
       try {           
           String tmp = this.fieldGrados.getText();
           if (tmp == null || tmp.equals("")) {              
               return;
           }           
           fila = jTable1.getSelectedRow();
           if (fila == -1) {
               JOptionPane.showMessageDialog(this, "No se selecciono ninguna 
                fila", "Mensaje", JOptionPane.WARNING_MESSAGE);
               return;
           }            
           Procesar();            
       } catch (Exception ex) {
          
       }        
   }

4. Crear el método procesar

 private void Procesar() {
       try {
         if (fila == -1) {
          JOptionPane.showMessageDialog(this, "No se selecciono ninguna fila", 
          "Mensaje", JOptionPane.WARNING_MESSAGE);
            return;
          }
           String Numero = String.valueOf(jTable1.getValueAt(fila, 0));
           if (Numero == null || Numero.equals("")) {
               Mensajeria.Mensaje("Ingrese el numero");
               return;
           }          
          Integer newVal = Integer.parseInt(Numero) * 2;                                                     
          jTable1.setValueAt(newVal, fila, 1);           
       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "Procesar()");
       }
   }

Agregar un Combo a un JTable

1.Definir el objeto JComboBox comboRumboLatitud; int filas;

2. En el init del formulario

 comboRumboLatitud = new JComboBox();
       comboRumboLatitud.addItem("NE");
       comboRumboLatitud.addItem("NW");
       comboRumboLatitud.addItem("SE");
       comboRumboLatitud.addItem("SW");
       comboRumboLatitud.setSelectedItem("NE");
 TableColumn column = jTable1.getColumnModel().getColumn(0);
       column.setPreferredWidth(30);
       column.setCellEditor(new DefaultCellEditor(comboRumboLatitud));
       comboRumboLatitud.addActionListener(new java.awt.event.ActionListener() {
           
           public void actionPerformed(java.awt.event.ActionEvent evt) {
               ComboAction(evt);
           }
       });

3. Crear el método

  private void ComboAction(java.awt.event.ActionEvent evt) {
       try {
           filas = jTable1.getSelectedRow();
           if (filas == -1) {
               JOptionPane.showMessageDialog(this, "No se selecciono ninguna fila", "Mensaje", JOptionPane.WARNING_MESSAGE);
               return;
           }
           String sel = comboRumboLatitud.getSelectedItem().toString();
           JOptionPane.showMessageDialog(this, sel);
       } catch (Exception ex) {
       }
   }

File:Combotabla.png

Manejo de Fechas

File:Datepicker.png 0. Agregar el JDatePicker al formulario

1. Crear una instancia del calendario

    java.util.Calendar ca = java.util.Calendar.getInstance();

2. Obtener la fecha actual

       java.sql.Date mydate = new java.sql.Date(ca.getTimeInMillis());

3. Asignarla a jXDatePicker

       jXDatePickerFechaNacimiento.setDate(mydate);

4. Establecer el formato para la fecha

       jXDatePickerFechaNacimiento.setFormats(new SimpleDateFormat("dd/MM/yyyy"));

5. Obtener el año mes y dia

       int year = ca.get(java.util.Calendar.YEAR);
       this.Anio = year;
       int nmes = ca.get(java.util.Calendar.MONTH);
    

6. Validar fecha seleccionada

     java.util.Date Fecha = jXDatePickerFechaNacimiento.getDate();
           java.sql.Date fechaNacimiento = new java.sql.Date(Fecha.getTime());
           if (fechaNacimiento == null) {
             Mensajeria.Mensaje("Seleccione la fecha de nacimiento");
               jXDatePickerFechaNacimiento.requestFocus();
               return;
           }
           empleado1.setFechanacimiento(fechaNacimiento);


7. Formatear la fecha para mostrarla en un jTable

                for (Acuerdos a : acuerdosController1.getAcuerdoslist()) {
              Format formatter;
               formatter = new SimpleDateFormat("dd/MM/yyyy");
               Date fecha = a.getFecha();
               String MyFecha = formatter.format(fecha);
                filas[2] = MyFecha;

}


8. Filtrar por año

String sql = "year(fecha) = '" + year + "'";
           if (acuerdosController1.Query(sql)) {
               Object[] filas = new Object[5]; // Hay tres columnas en la tabla
               for (Acuerdos a : acuerdosController1.getAcuerdoslist()) {
                   filas[0] = a.getIdacuerdo();
                   filas[1] = a.getNumacuerdo();
                   Format formatter;
                   formatter = new SimpleDateFormat("dd/MM/yyyy");
                   Date fecha = a.getFecha();
                   String MyFecha = formatter.format(fecha);
                   filas[2] = MyFecha;
                   filas[3] = a.getDetalle();
                   modelo.addRow(filas);
               }
           } else {
               Mensajeria.Mensaje("No hay registros para ese año");
           }


9. Filtrar entre fechas

java.util.Date FechaDate = jXDatePickerFechaInicio.getDate();
           java.sql.Date FechaInicio = new java.sql.Date(FechaDate.getTime());
           if (FechaInicio == null) {
                              return;
           }
           FechaDate = jXDatePickerFechaTerminacion.getDate();
           java.sql.Date FechaTerminacion = new java.sql.Date(FechaDate.getTime());
           if (FechaTerminacion == null) {
                              return;
           }
String sql +select "fecha >= ' " + FechaInicio+”' + and fecha <= ' " +
FechaFin+”'”;
     
 if (acuerdosController1.Query(sql)) {
               Object[] filas = new Object[5]; // Hay tres columnas en la tabla
               for (Acuerdos a : acuerdosController1.getAcuerdoslist()) {
                   filas[0] = a.getIdacuerdo();
                   filas[1] = a.getNumacuerdo();
                   Format formatter;
                   formatter = new SimpleDateFormat("dd/MM/yyyy");
                   Date fecha = a.getFecha();
                   String MyFecha = formatter.format(fecha);
                   filas[2] = MyFecha;
                   filas[3] = a.getDetalle();
                   modelo.addRow(filas);
               }
           } else {
               Mensajeria.Mensaje("No hay registros para ese año");
           }

Integrando iReport

Para integrar iReport , debemos realizar los siguientes pasos

1. Descargar el plugin para NetBeans desde 

http://jasperforge.org/project/ireport

1.1 Instalamos el plugin


Manipulando List<>

   //Definimos los List
   List<String> ListaIdSubGrupo = new ArrayList<String>();
   List<Double> ListaTotalSubGrupo = new ArrayList<Double>();
   //Removemos todos los elementos
    ListaIdSubGrupo.removeAll(ListaIdSubGrupo);
    //Agregar
         ListaIdSubGrupo.add("hola");
         ListaIdSubGrupo.add("adios");
         ListaIdSubGrupo.add("nada");
     //Remover un elemento
        ListaIdSubGrupo.remove("adios");
     //Recorrer la lista
       for (int i = 0; i < ListaIdSubGrupo().size(); i++) {            
               System.out.println(" "+ ListaIdSubGrupo.get(i);
        }
     //Otra forma de recorrer la lista
      for(String s:ListaIdSubGrupo()){
            System.out.println(" "+s);
       }

Campos Formateados

 Arrastramos de la paleta un jFormattedTextField
 y luego damos clic derecho y seleccionamos Personalizar Codigo.
 Agregamos
  MaskFormatter  mask = null;   
  try{
     mask = new MaskFormatter("###.#.#.##.##.##.##");
  }catch(Exception ex){
  }
  //cambiamos a codigo personalizado para editar y colocamos el mask
 jFormattedTextField1 = new javax.swing.JFormattedTextField(mask);

File:Textoformato.png

SubString

 Devuelve una cadena
 substring(indice_inicial, indice_final -1)
 Ejemplo:
 String texto="561.2.8.";
 String t = texto(0,3) // devuelve 561
        t = texto(4,5);//devuelve 2
        t = texto(6,7);//devuelve 8

Descargar Plugin

Descargar Plugin


StringBuilder

  //definir
 StringBuilder sb = new StringBuilder("");
//agregar
  sb.append("\nHola");
//eliminar
 sb.delete(0, sb.length());


Archivo de Propiedades

  Podemos utilizar archivos de propiedades, para ello lo agregamos en la sección de archivos del proyecto.

File:Rutaarchivopropiedades.png

  Código
     private void Leer() {
       try {
           Properties props = new Properties();
           props.load(new FileInputStream("versiones.properties"));
             System.out.println(props.getProperty("version"));
       } catch (Exception ex) {
           System.out.println(" " + ex);
       }
   }
   /*
    * 
    */
   private void EscribirActualizar() {
       try {
           Properties props = new Properties();
           props.setProperty("version", "0.34");
           props.store(new FileOutputStream("versiones.properties",false),"");
          
           System.out.println(" grabado o actualizado....");
       } catch (Exception ex) {
           System.out.println(" " + ex);
       }
   }
 Cuando generamos el jar del proyecto, tambien tenemos que copiar el archivo de propiedades.

File:Propertiesfiles.png

Lista de Deseos

1. Transacciones

2. Cache

3. Ordering

Probando el API en Groovy

Quiero agradecer a mi amigo José María Martínez García, por su captura de pantalla del API en su proyecto en groovy File:Groovy.png

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo