miércoles, 8 de agosto de 2012

Descarga este libro sobre Inteligencia artificial en Java

8/08/2012



Este libro ha sido escrito para aquellos desarrolladores que yaconocen losfundamentos del lenguaje Java y que desean adentrarse en el aprendizaje práctico de la programación sobre Inteligencia Artificial (IA) y sus técnicas de procesado.

La propuesta de este libro ha sido revisada para resultar amena y divertida: redactado a modo de recetario de cocina, los capítulos pueden ser estudiados en cualquier orden y siempre presentan la misma estructura: la motivación para aprender una determinada técnica, la teoría yun ejemplo en Java con el que podemos experimentar lo estudiado.

DESCARGAR

lunes, 6 de agosto de 2012

Listar unidades del sistema con JList en java

8/06/2012


Desempolvandomibaúldecódigospersonales, les traigo una parte de unaaplicaciónque hice haces unos años,cada lunescompartiré con todos ustedescódigospersonales que no se han visto en ninguna web,y espero que sean de su utilidad.
¿Pero como listamos las unidades del sistema en un JList?
primero importamos lalibreríanativaJNA(api nativa para manipularlibreríascompartidas de windows .dll y .so en linux).tambiénhacemos uso de lalibreríaRT que la encontramos en el paquete de java con la ruta, C:\Program Files (x86)\Java\jre7\lib, en el proyecto solovieneincluida lalibreríaJNA ya que lalibreríart es muy pesada (45 a 50MB).
una vez hecho esto vamos hacer uso delKernel, el cual nosproporcionaraciertainformaciónimportante para proceder a escanear y verificar laexistenciade alguna unidad de disco(sea disco duro o dispositivo USB)
Métodoel cual obtenemos las unidades.


           File[] files = File.listRoots();
if (files != null) {
for (File f : files) {
DriveInfo di = new DriveInfo();
di.drive = f.getAbsolutePath();
if (di.drive.endsWith("\\")) {
di.drive = di.drive.substring(0, di.drive.length() - 1);
}
di.size = f.getTotalSpace();
di.free = f.getFreeSpace();
try {
VolumeInformation vi = getVolumeInformation(di.drive + "\\");
di.fileSystem = vi.fileSystemName;
di.name = vi.volumeName;
drives.add(di);
} catch (LastError ex) {
// device is not ready
if (ex.getLastError() != 21) {
ex.printStackTrace();
}
}
}
}


de esta forma obtengo las unidades,y no solo el nombre si no todo lo que puedo extraer de ellas.
¿pero como agregamos o añadimos al JLis?
para esto necesito crear un ListDriveInfo (Lista todos los datos queestánen el ArrayList), DriveInfo es nada mas que una clase a la cual se le pasan los datosextraídospor elmétodoque realiza labúsquedade las unidades y por otra clase que me separa dichos datos.
Forma para añadir las unidades al JList


         
for (DriveInfo di : drives) {

_lista_modelo.addElement(String.format(di.name+" "+"("+di.drive+")"));
icono_lista rl=new icono_lista(drives);
lista_uni.setCellRenderer(rl);
}


recorro el array con bucle for, y me retorna los valores que deseo agregar al JList en este caso el nombre de la unidad y la etiqueta del disco,el proximo lunescompartirélaaplicacióncompleta que se llama JFAnalizerHard-Disk(analizador del disco duro marca javaface-elblogdelprogramador)completamente desarrollado en java.

DESCARGAR


domingo, 5 de agosto de 2012

Descarga este MegaPack de tutoriales Android

8/05/2012

Si andas en busca de tutoriales para android estarecopilaciónte sera de mucha ayuda ,el paquete trae 21 tutoriales para introducirte en el mundo de las aplicaciones android.

Contenido del MegaPack

  • Beginning.Android
  • Android Apps For Dummies-Mantesh
  • Android Apps For Dummies-slicer
  • Android Essentials
  • Android in Action 2nd Edition 2011
  • Android User Interface Development Beginner's
  • Android Apps Marketing Secrets
  • Practical Android Projects
  • Pro Android Web Apps Develop for Android using HTML5
  • The Android Developer's Cookbook

DESCARGAR

jueves, 2 de agosto de 2012

Exportar/Importar datos con Excel desde java

8/02/2012




Hace unosdíasun amigo de facebookJosué Colmán, me comento que tenia problemas al momento de generar un reporte con el apiJExcel el cual nos permite generar hojas de excel desde java.
¿Como trabajamos con el API JEXCEL?
primero tenemos que importar la libreria jxl.jar a nuestro proyecto(el proyecto de descarga ya lo tiene incluido), una vez realizado esto se crea una clase con la cual vamos a pasar los datos que contiene el JTable, con un List o ArrayList el cualcontendráel objecto table.

 
try {
/******************AGREGO EL JTABLA A UN ARRAYLIST***************************/
Listtb = new ArrayList();
tb.add(table_exportar);
//-------------------
exportar_excel excelExporter = new exportar_excel(tb, new File("DATOS_EXPORTADOS.xls"));
if (excelExporter.export()) {
JOptionPane.showMessageDialog(null, "DATOS EXPORTADOS CON EXITO!");
}
} catch (Exception ex) {
ex.printStackTrace();
}
llama_excel();


la claseexportar_excel nos recibe el List y una File el cual nos crea el fichero.xls(fomato de excel), dentro de esta clase tenemos las propiedades que nos ayudan a añadir los datos,esta api es completa deben de conocerla bien para poder aprovechar todo las propiedades,como por ejemplo,colocarimágenes, realizar formulas,ect.
writableFont: nos permite colocar el estilo de fuente y tamaño de este.
CellView: nos da formato a las celdas o celulas en este caso el tamaño

WritableFont times10pt = new WritableFont(WritableFont.TAHOMA, 14);
// definimos el formato d ela celda
WritableCellFormat times = new WritableCellFormat(times10pt);
// Permite si se ajusta automáticamente a las células
//times.setWrap(true);
// crea una negrita con subrayado
WritableFont times10ptBoldUnderline = new WritableFont(WritableFont.TAHOMA, 10, WritableFont.BOLD, false,UnderlineStyle.SINGLE);
fomato_columna = new WritableCellFormat(times10ptBoldUnderline);
// Permite que se ajusta automáticamente a las células
//fomato_columna.setWrap(true);
CellView cv = new CellView();
cv.setSize(220);
cv.setDimension(70);
cv.setFormat(times);
cv.setFormat(fomato_columna);
//cv.setAutosize(true);
// escribimos las columnas
addColumna(sheet, number_columna, 0, columna,fomato_columna);//numero de columna , 0 es la fila
addColumna es elmétodoque nos recibe el numero de filas y columnas que vamos a crear junto con las etiquetas para crear solo las columnas de la tabla en la hoja de excel.
 private void addColumna(WritableSheet sheet, int column,
int row, String s,WritableCellFormat format)throws RowsExceededException, WriteException {
Label label;
label = new Label(column, row, s, format);
sheet.addCell(label);
}


¿Importar una hoja de excel a un JTable?
para poder leer una hoja de excelnecesitamosde la claseworkbook, esta clase nos permite leer el archivo hay que tener en cuenta que un archivo de excel esta compuesto por varias hojas de trabajo aquíse debe de especificar el numero de la hoja que se va a leer.
Para extraer el numero de columnas y filas existentes necesitamos esta clase.
  Sheet sheet = workbook.getSheet(0); 

de esta manera podermos extraer el numero de filas y columnas queesténescritos, con los metodosgetColumns() ygetRows().


         Sheet sheet = workbook.getSheet(0); 
columna.clear();

for (int i = 0; i sheet.getColumns(); i++) {
Cell cell1 = sheet.getCell(i, 0);
columna.add(cell1.getContents());
}
filas.clear();

for (int j = 1; j sheet.getRows(); j++) {

Vector d = new Vector();

for (int i = 0; i sheet.getColumns(); i++) {

Cell cell = sheet.getCell(i, j);
d.add(cell.getContents());
}
d.add("\n");
filas.add(d);
}


DESCARGAR





miércoles, 1 de agosto de 2012

Descarga este tutorial de videobrain JQuery para mobiles

8/01/2012



Quieres diseñaraplicaciones web para teléfonos y tablets utilizando HTML5, este curso video2brain te introducirá en el framework más utilizado para crear este tipo de soluciones mobile: jQuery Mobile. Decenas de plataformas móviles en teléfonos y tabletas han aparecido en el mercado en los últimos años. Crear experiencias web y nativas para todas las plataformas se ha convertido en un autentico desafío para diseñadores y programadores. Por eso, jQuery Mobile aparece como una solución fácil, extensible y multiplataforma para diseñar webapps interactivas para equipos táctiles.(RECOMENDADO)

Introducción

Presentamos el framework que te ayudará a crear aplicaciones multiplataforma, cuáles son sus características, sus requisitos y su compatibilidad.

Manos a la obra

Descargamos jQuery y creamos la plantilla desde Dreamweaver. Veremos conceptos como Arquitectura de roles y empezaremos a trabajar con el color. Veremos cómo enfrentarnos a la navegación dentro de nuestra app, crearemos header y footer y personalizaremos la interfaz. Crearemos listas y formularios compatibles con móviles.

API de JavaScript

Utilizamos jQuery y JavaScript para manipular aspectos personalizados de jQuery Mobile a través de su API.

DESCARGAR




lunes, 30 de julio de 2012

JButton con JPopupMenu mas efectos en java

7/30/2012

ApeticióndeLuis Fernando , un amigo defacebookque mepidiócomo llamar un JPopupMenu desde unbotón,bueno hay varias formas pero opto por esta no es que sea la mejor pero para mi es la mas sencilla y no sobretodo eso si no que podemos personalizar al JPopupMenu como queramos depende de nuestra creatividad en laprogramación.
¿Pero que hay de nuevo deaquí?
el hecho de que pueda personalizar mi popup es donde quiero que salga o se muestre dandole coordenadas con la propiedad.
  

int lugar= (c.getHeight()+c.getHeight()+25)/2;
int centrar=(c.getWidth())/5;
popup.show(c, centrar,-lugar);

Show() noes permite visualizar el popup donde nosotros queramos.

Colocando la enum, ¿pero que es enum?
un enum en Java es un conjunto fijo y relacionado de constantes como pueden ser los días de la semana y deberían usarse siempre que se necesite representar un conjunto de constantes
Como lo utilizamos

         public enum Orientacion{
TOP,
BOTTOM
}
protected Orientacion orientacion= Orientacion.TOP;//por defecto TOP

}

de esta maneraconstruyoy declaro un enum que son muy buenos,yo los utilizo siempre al momento de programar proyectos con varias propiedades.
llamando a las constantes del enum
para recorrer el enum loúnicoque necesitamos es unswitch.
  

switch (orientacion){

case TOP:{

int lugar= (c.getHeight()+c.getHeight()+25)/2;
int centrar=(c.getWidth())/5;
popup.show(c, centrar,-lugar);
/****************************/
break;
}
case BOTTOM:{

int lugar= (c.getHeight()+c.getHeight()+2)/2;
int centrar=(c.getWidth())/5;
popup.show(c, centrar,lugar);
/**************************/
break;
}
/*************
}


de esta manera lo colocamos donde queramos que se ejecute puede ser dentro de unafunción,o como en este caso dentro del evento delbotón.
propiedades delbotónpara cambiar deorientaciónel popup.

   

public void setOrientacion(Orientacion Orientacion)
{
this.orientacion=Orientacion;
}
public Orientacion getOrientacion()
{
return orientacion;
}



DESCARGAR