Skip to main content

Posts

Showing posts from October, 2010

NetBeans Options Window Module parte 2

Continuando con el tutorial DiseƱar una Ventana indicamos la configuraciĆ³n indicamos el nombre En la ventana Agregamos un JPanel, un JLabel y un JTextField En el constructor agregamos Preferences pref = NbPreferences.forModule(CoolOptionsPanel.class); String name = pref.get("namePreference", ""); pref.addPreferenceChangeListener(new PreferenceChangeListener() { public void preferenceChange(PreferenceChangeEvent evt) { if (evt.getKey().equals("namePreference")) { jTextField1.setText(evt.getNewValue()); } } }); jTextField1.setText(name); Agregamos el import java.util.prefs.Preferences Importar org.openide.util.NbPreferences Importar java.util.prefs.PreferenceChangeListener Importar java.utils.prefs.PreferenceChangeEvent Instalamos el plugin y desde el menu Ventana, seleccionamos Lectura Podemos observar el contenido en el JtextField

NetBeans Options Window Module

NetBeans Options Window Module Basado en http://platform.netbeans.org/tutorials/nbm-options.html 1.Crear un proyecto de tipo modulo 2. Crear un Panel de Opciones 3. Indicamos el titulo y la palabra clave 4. Se muestra la ventana de UbicaciĆ³n, presionamos el botĆ³n Terminar 5. Se agrega un nuevo panel 7. En el menĆŗ Herramientas seleccionamos Opciones 8. En opciones , seleccionamos Varios 9. Agregamos un JPanel, Caja de texto y una etiqueta 10. Instalamos el plugin y verificamos las Opciones. 11. Ahora en el cĆ³digo fuente buscamos el mĆ©todo store() y agregamos la siguiente instrucciĆ³n. NbPreferences.forModule(CoolOptionsPanel.class).put("namePreference", jTextField1.getText()); 12.Corregimos las importaciones y seleccionamos. org.openide.util.NbPreferences 12. Instalamos el plugin nuevamente y verificamos las Opciones. org.openide.util.NbPreferences 13. Escribimos netbeans y presionamos el botĆ³n aceptar. 14. Ahora para recuperar el valor, buscamos el met

Agregar el plugin a un proyecto

Creamos un proyecto basado en NetBeans Platform Application Imdicamos el nombre del proyecto Seleccionamos las propiedades del proyecto En modulos dar click derecho y seleccionar AƱadir existentes Seleccionamos el modulo Se muestra el modulo agregado Ejecutamos el proyecto 

Bases de Datos Relacionales.Algo del pasado o forman parte del presente.

Hace aƱos cuando inicie en el mundo del desarrollo de software he observado la evoluciĆ³n de muchas tecnologĆ­as algunas con Ć©xito otras marcadas por el fracaso debido a diversos factores, sin duda han sido los proyectos basados en Open Source y Software Libre, los que me han llamado mĆ”s la atenciĆ³n, entre ellos claro esta NetBeans. En esta ocasiĆ³n recuerdo la primera vez que utilice alguna base de datos relacional, , y en ese entonces me preguntaba porque hay que enseƱar "normalizaciĆ³n-1, normalizaciĆ³n-2,normalizaciĆ³n-3", definida de multiples maneras cuando al final es el mismo concepto y el porque no iniciar con la mejor forma normal desde el principio, luego me preguntaba son las bases de datos relacionales una verdadera soluciĆ³n a la mayorĆ­a de los problemas o simplemente son un avance sobre el manejo tradicional de los archivos... TambiĆ©n me preguntaba porque debemos definir una estructura rĆ­gida para el almacenamiento de los datos, si en el mundo real esto es flexi

CapacitaciĆ³n virtual en NetBeans Platform

Nuestro amigo Diego Silva (uno de los mejores escritores de blogs sobre NetBeans en espaƱol) esta coordinando con  Geertjan Wielenga  para dictar capacitaciones para los latinoamericanos. InformaciĆ³n oficial en el blog de Diego Silva http://www.apuntesdejava.com/2010/10/ultimo-minuto-capacitacion-virtual-en.html

marc-json

Ajuste el cĆ³digo del plugin para migrar archivos Marc21 a Couchdb, para que soporte el formato marc-json. Parte del cĆ³digo fuente

NetBeans 7.0 Milestone 2 disponible

El Milestone 2 de NetBeans 7.0 esta disponible para su descarga. En este enlace puedes descargar el M2 Las caracteristicas Java Support for Maven 3 JUnit 4.8.2 integration and various JUnit improvements Remote HTTP URLs supported for Javadoc in libraries and Java platforms New improved visual customizer for GridBagLayout Java EE Improved support for CDI, REST services and Java Persistence; new support for Bean Validation Support for JSF component libraries, including bundled PrimeFaces library Improved editing for Expression Language in JSF, including code completion, refactoring and hints GlassFish GlassFish 3.1 Support Domain restart and log viewer for remote GlassFish Enable and disable deployed applications WebLogic Application Server Streamlined and faster deployment to WebLogic New server runtime node displaying deployed applications and resources JSF integration with server libraries Platform Less intrusive checking for external changes when switching betwe

Obtener los documentos de una base de datos en Couchdb

Mostrare un pequeƱo cĆ³digo en Java que utiliza Couchdb4j para interactuar con los documentos almacenados en Couchdb. try {             db = dbSession.getDatabase(dbname);             if (db == null) {                 return false;             }             int count = db.getDocumentCount();             if (count == 0) {                 NotifyDescriptor d = new NotifyDescriptor.Message("No existen documentos de la base de datos " + dbname, msgType);                 DialogDisplayer.getDefault().notify(d);                 return false;             }             ViewResults results = db.getAllDocuments();             //definimos el los campos para mostrar en el jtable              Object[] filas = new Object[4]; // Hay tres columnas en la tabla             for (Document document : results.getResults()) {                             String id = (String) document.get("id");                              Document full = db.getDocument(document.getId())

M21Couchdb Migrador Marc21 a Couchdb

En esta ocasiĆ³n realice un plugin muy bĆ”sico para migrar datos desde un archivo en formato mar21 (.mrc)  a una base de datos couchdb. El funcionamiento es sencillo, se analiza el contenido del archivo se obtienen los campos y luego estos se insertan en una base de datos documental. Simplemente seleccionando el archivo Este plugin utiliza la biblioteca Marc4j Aqui podemos ver el contenido del archivo Sesion.java package org.avbravo.m21couchdb; /**  *  * @author avbravo  */ import com.fourspaces.couchdb.Database; import com.fourspaces.couchdb.Document; import com.fourspaces.couchdb.Session; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.Iterator; import java.util.List; import javax.swing.JOptionPan

DialogDisplayer

  String msg = "Mensaje de texto!";         int msgType = NotifyDescriptor.INFORMATION_MESSAGE;         int msgTypeError = NotifyDescriptor.ERROR_MESSAGE;      NotifyDescriptor d = new NotifyDescriptor.Message(msg, msgType);          DialogDisplayer.getDefault().notify(d);

Couchdb Explorer parte 7

Editamos la clase DemoTopComponent.java Agregamos el objeto Sesion sesion = new Sesion(); debajo de la declaraciĆ³n de la clase. y Agregar dos atributos booleanos para controlar la activaciĆ³n del botĆ³n Migrar boolean ldatabase = false; boolean couchdb = false; Agregamos el cĆ³digo para el botĆ³n Conectar Couchdb try { String ip = jTextFieldIpCouchdb.getText(); if (ip == null || ip.equals("")) { JOptionPane.showMessageDialog(this, "Ingrese el ip", "Mensaje", JOptionPane.INFORMATION_MESSAGE); jTextFieldIpCouchdb.requestFocus(); return; } String spuerto = jTextFieldPuertoCouchdb.getText(); if (spuerto == null || spuerto.equals("")) { JOptionPane.showMessageDialog(this, "Ingrese el puerto", "Mensaje", JOptionPane.INFORMATION_MESSAGE); jTextFieldPuertoCouchdb.requestFocus(); return; } int puerto = Integer.parseInt(spuerto); String user = jTextFieldUserCouchdb.getText(); if (user == null) { user = ""; } String passwor

Couchdb Explorer parte 6

Agregar la librerĆ­a Couchdb4j Seleccionamos Wrapped JARs y presionamos el botĆ³n AƱadir JAR Agregamos la librerĆ­a couchdb4 Agregamos los jar que estĆ”n en la carpeta lib Nos quedarĆ­a finalmente asĆ­ AGREGAR NUEVOS COMPONENTES AL DISEƑO Agregamos etiquetas, cajas de texto , combo y botones. Para la conexiĆ³n a Couchdb Datos del jComboBoxFormatoFecha. Propiedad model:dd/MM/aaaa, MM/dd/aaaa, aaaa/MM/dd, dd/aaaa/MM, MM/aaaa/dd, aaaa/dd/MM Creamos la clase NBRunnable para para ejecutar mĆŗltiples hilos. CĆ³digo fuente package org.avbravo.couchdb; /** * * @author avbravo */ import javax.swing.JOptionPane; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressHandleFactory; import org.openide.awt.StatusDisplayer; /** * * @author avbravo */ public class NBRunnable implements Runnable { Sesion sesion = new Sesion(); @Override public void run() { try{ for (int i = 0; i < sesion.getListaTablas().size(); i++) { ProgressHandle p = ProgressHandleFactory.createHa