TaT AvbravoTipsJavaSwing

Revision as of 20:45, 26 October 2011 by Avbravo (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)

Contents

"Trucos Java Swing

 Contributed By;  AVBravo

Descargar el plugin desde

 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

  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