lunes, 20 de agosto de 2012

Cargar datos,Imprimir,añadir encabezado y pie de pagina con JTextArea

8/20/2012

hoy esLUNES,díade desempolvar mibaúldecódigos y les traigo una pieza decódigo muyútila la hora de imprimir texto en java,en este ejemploaprenderása cargar datos desde un fichero de texto de una manera masrápiday sencilla,colocar encabezado y pie de pagina en la hoja.

primeroconozcamosestos elementos

SwingWorker:diseñado para situaciones donde se necesita tener una tarea de larga ejecución se ejecutan en un subproceso en segundo plano y proporcionar actualizaciones de la interfaz de usuario.

MessageFormat:proporciona un medio para producir mensajes concatenados en forma independiente.
print:este método sirve para imprimir el componente.

una vez entendido esto pasamos alcódigo, primero vamos a cargar o leer un fichero de texto esto se lo puede hacer de varias formas pero la masfácily casi menos utilizada les digo esto por que al consultar como leer un fichero de texto en java les aparece uncódigo de varias lineas,pero con el componente JTextArea el cual posee una propiedad que se llamaread podemos leer un fircherorápidamenteasi:


  comp.read( new InputStreamReader(getClass().getResourceAsStream(fileName)),null);


Eso es todo, de esta manera leemos un fichero de texto.

Como imprimimos el Componente?
primero creo una clase interna tipo SwingWorker que en resume en miopiniónes un hilo, y esta formado por losmétodoscomo este.
 protected Object doInBackground() {
try {
que_paso = jTextArea.print(formato_cabecera, formato_pie, true, null, null, prgreso); mensaje_custion = "Impresion " + (que_paso ? "completada" : "cancelada");
} catch (PrinterException ex) {
mensaje_custion = "se produjo un error de impresión";
} catch (SecurityException ex) {
mensaje_custion =" no puede acceder a la impresora por razones de seguridad";
}
return null;
}

Con estemétodo,función, llamamos a la propiedadprint delJTextArea ,que nos permite imprimir el contenido de este componente.

Ejecucion
para ejecutar el hilo SwingWorker, tenemos el siguiente codigo.

  MessageFormat cabecera = Creame_Formato(txt_cabecera);
MessageFormat pie = Creame_Formato(txt_pie);

boolean progres = CHECK_progreso.isSelected();
boolean plano = check_plano.isSelected();

PrintingTask task = new PrintingTask(cabecera, pie, progres);
if (plano)
{
task.execute();
}
else
{
task.run();
}


aquí desencadeno la clase del hilo y envió los valores del encabezado y pie de pagina,una vez ejecutado esto nos aparecerá esta ventana de la impresión.



DESCARGAR







domingo, 19 de agosto de 2012

Descarga este Libro sobre Comunicaciones y Redes de Computadoras

8/19/2012



Este libro va dirigido a una audiencia tanto académica como profesional. Para los profesionales interesados en este campo, el libro sirve como obra de referencia básica y es adecuado para autoestudio. Como libro de texto, puede usarse para un curso de uno o dos semestres.(RECOMENDADO)

CONTENIDO

Parte I: Descripción general.

Capítulo 1: Introducción a las comunicaciones de datos y redes.
Capítulo 2: Arquitectura de protocolos.

Parte II: Comunicaciones de datos.

Capítulo 3: Transmisión de datos.
Capítulo 4: Medición de transmisión.
Capítulo 5: TÚcnicas para la codificación de señales.
Capítulo 6: TÚcnicas de comunicación de datos digitales.
Capítulo 7: Protocolos de control del enlace de datos.
Capítulo 8: Multiplexación.
Capítulo 9: Espectro expandido.

Parte III: Redes de área amplia.

Capítulo 10: Conmutación de circuitos y de paquetes.
Capítulo 11: Modo de transferencia asíncrono.
Capítulo 12: Encaminamiento en redes conmutadas.
Capítulo 13: Congestión en redes de datos.
Capítulo 14: redes celulares inalámbricas.

Parte IV: Redes de área local.

Capítulo 15: Visión general de las redes de área local.
Capítulo 16: Redes de alta velocidad.
Capítulo 17: redes LAN inalámbricas.

Parte V: Protocolos de interconexión.

Capítulo 18: Protocolos de interconexión de redes.
Capítulo 19: Funcionamiento de la interconexión de redes.
Capítulo 20: Protocolos de transporte.
Capítulo 21: Seguridad en redes.
Capítulo 22: Aplicaciones distribuidas.
Apéndice A: RFC citados en este libro.
Apéndice B: Análisis de Fourier.
Apéndice C:Programación de SOCKETS.
Apéndice D: Proyectos par la enseñanza de comunicaciones de datos y redes de computadores.

DESCARGAR

jueves, 16 de agosto de 2012

Descarga este Vídeo tutorial sobre Creación de API REST con PHP Y MYSQL

8/16/2012


Con este excelentevídeotutorial aprenderás a crear unAPI Rest Full para crear sistemas propios basados en la nueva comunicación deServicios Web que usan hoy en día los sitios mas importante para permitir comunicación entre servicios.

se trabaja con tecnologías web a como son PHP como lenguaje de programación,MySQL como gestor de bases de datos,JSON como respuesta de intercambio de datos.(RECOMENDADO)

DESCARGAR

miércoles, 15 de agosto de 2012

JTable con PopupMenu en la cabecera, ordenar filas Ascendente y Descendente en java

8/15/2012

A medida que trabajamos con el JTable nos encontramos con muchas propiedades que tiene esta herramienta para mi en lo personal es una de las herramientas mas complejas y a vez la mas utilizada en manejo de datos, hoy les presento un ejemplo de como ordernas las filas en forma ascendente y descendente conRowSorter ySortOrder para colocar el popup utilizamos elJTableHeader.

RowSorter :proporciona la base para ordenar y filtrar.
SortOder :es una enumeración de los ordenamientos posibles de clasificación
JTableHeader :Este es el objeto que gestiona la cabecera de la JTable

esta es la forma de como agregamos y declaramos los metodos.

 table = new JTable(modelo);
table.setRowSorter(new TableRowSorter(modelo) {
@Override public void toggleSortOrder(int column) {}
});
//0 es la primera columna el cual agrego el popup ala cabecera en forma desendente
table.getRowSorter().setSortKeys(Arrays.asList(new RowSorter.SortKey(0, SortOrder.DESCENDING)));

JPopupMenu pop = new TablePopupMenu();
//cabecera
final JTableHeader header = table.getTableHeader();
header.setComponentPopupMenu(pop);
pop.addPopupMenuListener(new PopupMenuListener() {
@Override public void popupMenuCanceled(PopupMenuEvent e) {}
@Override public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {

header.setDraggedColumn(null);
header.repaint();
}
@Override public void popupMenuWillBecomeVisible(PopupMenuEvent e) {}
});

TablePopupMenu es una clase interna popupmenu, la cual añado a la cabecera de la columna 0 es decir a la primera columna de la Tabla con JTableHeader atravez delmétodosetComponentPopupMenu.

DESCARGAR




Descargate este curso sobre HTML

8/15/2012


Este curso es tremendamente completo, guiado ycon ejemplos y prácticas pensadas para convertirlo en una guía didáctica para aprender a hacer páginas web. No se requieren más que conocimientos básicos de informática para llevarlo a cabo y se cubren desde los aspectos más básicos de HTML hasta los más avanzados.
en este curso se resalta en todo momento las partes más importantes de este lenguaje y la mejor forma de emplearlo. Esperamos que lo disfrutes.

DESCARGAR

lunes, 13 de agosto de 2012

Crea ventanas de ayuda modales con JavaHelp en java

8/13/2012




Apeticiónde un amigo de FacebookArnaldo Javier,que mepidiósiexistíauna forma de crear ventanas modales conJavaHelp(es una expansión de Java que facilita la programación de las ventanas de ayuda en las aplicaciones java), para los desarrolladores que utilizan Netbeans no tienes que usar ningunalibreríapara llamar a javahelp ya que el mismo netbeans ya la tiene,pero para las personas que utilizamos Eclipse tenemos que importar laslibreríaslas cuales yaestánen el proyecto de descarga.

¿Pero como hacemos modal o dialog a JavaHelp?
por defecto javahelp aparece en una ventana normal un JFrame ,pero si queremos hacerlo modal ya que las ventas modales tienes diferentes atributos y sirven como para hacer ventanas de ayuda por defecto no lo podemos hacerasíque tenemos que construir una Clase JDialog donde añadiremos las clases que vamos a utilizar para crear el JavaHelp como por ejemplo:

 DefaultHelpBroker help = new DefaultHelpBroker();

esta clase por defecto nos permite construir nuestro javahelp y obtener los atributos del Dialog,pero ay un problema una vez hecho esto y ejecutamos o llamamos a la ventana de ayuda nos llamara dos ventas modales el JavaHelp y el Dialog de la clase que creamos,no podemos desaparecer el segundo Dialog por que al hacer esto nuestra ventana de ayudatambiéndesaparece ,entonces para esto debemos de ubicar el dialog en otradireccióny añadir un evento de cierre a nuestro javahelp para cuando se pulse cerrar estas dos ventanas se cierren.

DefaultHelpBroker help = new DefaultHelpBroker();

try {

File fichero = new File("help/help_set.hs");
URL hsURL = fichero.toURI().toURL();
help.setHelpSet(new HelpSet(getClass().getClassLoader(), hsURL));
help.initPresentation();
help.setActivationWindow(this);
help.setDisplayed(true);
//-----------------CENTRO AL JAVAHELP-------------------------/
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Point p = new Point((int)screenSize.getWidth()/4,(int)screenSize.getHeight()/4);
help.setLocation(p);
help.getWindowPresentation().getHelpWindow().addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
//-----------cierro el dialog por defecto y listo
dispose();
}
});

}
catch (Exception e)
{
e.printStackTrace();
}

de esta manera creo mi javahelp y llamo a los ficheros html,y añado el evento de cierre(windosclosing) para cerrar el dialog.si quieren saber mas de JavaHelp eldíade mañanasubirétutoriales sobre este tema.

DESCARGAR


´