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

Couchdb Explorer parte 5

PANEL TABLAS Ahora en el Panel Tablas agregamos un JscrollPane1(Panel de desplazamientos). Ajustamos un poco el tamaño. Las propiedades horizontalScrollBarPolicy y verticalScrollBarPolicy a ALLWAYS. Ahora en el panel Conexiones y creamos el evento para el botón Conectar Código del botón Probar Conexión try { DatabaseConnection dbconn = null; Object selected = dbconnComboBox.getSelectedItem(); if (selected instanceof DatabaseConnection) { dbconn = (DatabaseConnection) selected; } sesion.conn = dbconn.getJDBCConnection(false); if (sesion.conn == null) { ConnectionManager.getDefault().showConnectionDialog(dbconn); } if (sesion.conn == null) { JOptionPane.showMessageDialog(this, "Usuario no se ha conectado , realice la conexión"); return; } //limpio la lista de tablas sesion.ListaTablas.clear(); scene = new DBGraphScene(sesion.conn); jScrollPane1.setViewportView(scene.createView()); JOptionPane.showMessageDialog(this, "Conectado"); jTextFieldPrefijo.setText(sesion.c