Google

lunes, 24 de noviembre de 2008

Agregar componentes a la paleta de JDeveloper

Se puede ver un video tutorial acerca de como agregar librerías a JDeveloper. Además es posible incorporar componentes de esta librería a la paleta de componentes del IDE JDeveloper.

Ver video: aquí

Cualquier duda o sugerencia pueden escribir al correo ideasjava@gmail.com

domingo, 19 de octubre de 2008

Libreria para manipular puertos serie y paralelo - javacomm

La libreria javacomm permite manipular los puertos serie y paralelo de la pc. Cuenta con los métodos necesarios para seleccionar entre los puertos, configurar parámetros, escribir y leer de los mismos.

En la actualidad sun no da soporte para windows, por lo que la librería no se encuentra disponible para la descarga en la página oficial.

Puedes descargar la versión de javacomm para windows desde aquí

Cualquier duda sobre el uso de esta librería puedes escribir ideasjava@gmail.com

jueves, 24 de julio de 2008

Generar archivo JAR con JDeveloper

En un post anterior se publicó un video para la creación de un JAR con el IDE JDeveloper, este archivo se puede visualizar desde aquí



jueves, 17 de julio de 2008

Donde encontrar libros para descargar

Navegando por la red encontré estas páginas en las cuales se pueden encontrar libros de cualquier tecnología:

itstudy8

BluePortal


Si conocen otras páginas similares las comentan.En caso de que necesiten algún material pueden escribir a la dirección ideasjava@gmail.com y solicitarlo.


Los temas que se publican en este blog surgen a partir del trabajo diario con java; por lo que a medida que surge algun problema y encuentro la solución trato en lo posible de escribir dicha solución en este blog.


En este último tiempo no estuve trabajando con java, razón por la cual no escribo en el blog. Si tienen problemas puntuales con java pueden escribir al correo y si puedo encontrar la respuesta la publico.

lunes, 12 de mayo de 2008

Deshabilitar cambios en el tamaño de las columnas de un JTable

Para no permitir cambiar el tamaño de las columnas de un JTable se debe realizar lo siguiente:

JTable tabla = ...

tabla.getTableHeader().setResizingAllowed(false);

No Mover Columnas de un JTable

Para que no se permitan mover las columnas de un JTable se debe obtener su encabezado y deshabilitarlo de la siguiente manera:

JTable tabla = ...
tabla.getTableHeader().setReorderingAllowed(false) ;

lunes, 5 de mayo de 2008

Convertir un número a base 10

Para convertir un número a base 10 se puede utilizar la siguiente sentencia:

Integer.parseInt(numeroConvertir,base);
donde el parámetro numeroConvertir es un String y base es un int que indica la base en la que se encuentra numeroConvertir. Así, por ejemplo si tenemos el número 101 en base 2, entonces quedaría:
  • numeroConvertir = "101"
  • base = 2

y el resultado sería:

  • int resultado = Integer.parseInt("101",2);

--------> resultado = 5

domingo, 27 de abril de 2008

Cambiar el color de fondo y el de fuente del encabezado de un JTable

Para cambiar el color de fondo(background) y el de fuente(foreground) del encabezado de un componente JTable es necesario definir un TableCellRenderer personalizado. Para esto se debe crear una clase que herede de DefaultTableCellRenderer. En nuestro caso utlizamos la clase MyRenderer.java.

Parte del código de la clase MyRenderer.java

public class MyRenderer extends DefaultTableCellRenderer {
Color background;
Color foreground;
public MyRenderer (Color background,Color foreground) {
super();
this.background = background;
this.foreground = foreground;
}
public Component getTableCellRendererComponent(JTable table, Object value,boolean isSelected, boolean hasFocus, int row, int column) {
Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
comp.setBackground(background);
comp.setForeground(foreground);
return comp;
}
}

Para hacer uso de esta clase solo es necesario escribir este código en el lugar donde esta el jTable:

jTable.getColumnModel().getColumn(0).setHeaderRenderer(new MyRenderer(Color.orange,Color.orange));

La clase MyRenderer tiene definido un constructor que recibe 2 parámetros Color, los cuales corresponden a los colores de fondo y de fuente.

martes, 26 de febrero de 2008

Java FX

Navengando por la red encontramos esta interesante herramienta que lanzó SUN. Se trata de Java FX, un lenguaje que pretende competir y reemplazar a AJAX y FLASH.

Java FX es una extensión a la plataforma Java por lo que utiliza los runtimes Java ya instalados en el cliente local en lugar de JavaScript. Sólo se requiere de la instalación de una librería adicional con Java SE o ME, dependiendo del dispositivo a utilizar.

Aplicacion de ejemplo que puedes encontrar en el weblog de Chris Oliver

Pueden ver ejemplos de aplicaciones con FX en el sitio de Chris Oliver.

Y puedes obtener Java FX desde aqui

Para comenzar a antender FX puedes consultar este tutorial.

martes, 5 de febrero de 2008

Abrir archivo en Windows desde java

Este método permite abrir el archivo que se pasa por parámetro.
Vale aclarar que este método hace uso de librerias propias de windows para poder detectar automaticamente que programa debe abrir para leer el archivo correspondiente.

public void execute(String mensaje){
try{
File file = new File(mensaje);
p=Runtime.getRuntime().exec
("rundll32 SHELL32.DLL,ShellExec_RunDLL " + file.getAbsolutePath());
}
catch (Exception e){
System.out.println("ERROR AL EJECUTAR APLICACION");
}
}

miércoles, 30 de enero de 2008

Generar archivo ZIP

public void generarZip(){
String[] filenames = new String[]{"D:\\01.java", "D:\\02.java","D:\\03.txt"};
// Crear un bufer para leer los archivos
byte[] buf = new byte[1024];
try {
// Crear el archivo ZIP
String outFilename = "D:\\outfile.zip";
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(outFilename));
// Comprimir los archivos
for (int i=0; i FileInputStream in = new FileInputStream(filenames[i]);
// Agregar las entradas ZIP al outputstream.
out.putNextEntry(new ZipEntry(filenames[i]));
// Transferencia de bytes desde el archivo original al archivo ZIP
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.closeEntry();
in.close();
}
out.close();
}
catch (IOException e) {

}
}

sábado, 26 de enero de 2008

Sistema DaMA presentado en ASADES

El programa fue diseñado originalmente para controlar un reactor de investigación de tipo UASB, y fue probado en el monitoreo de un piso radiante solar. La aplicación consta de dos partes, el hardware, que consiste en un módulo NuDAM conectado a un computador vía la interfaz serie y el software, que lo controla. Este último presenta las siguientes características:
a)configuración y control de módulos NUDAM o ADAM vía web
b) medición continua de datos tomados con el mismo,
c) acceso permanente, en tiempo real, a través web, a las interfaces de control, mediante las cuales se configura la adquisición de datos y se visualiza los datos adquiridos o se inspecciona los datos históricos,
d) almacenamiento y manipulación de datos mediante un gestor de bases de datos,
e) capacidad de exportar archivos de datos históricos en formato “txt” y “xml”,
f) capacidad de envío automático de reportes por correo electrónico.

viernes, 25 de enero de 2008

Centrar un Frame

Este método recibe como parámetro un JFrame y permite centrar dicho Frame

public void centerScreen(JFrame _frame) {
Dimension dim = _frame.getToolkit().getScreenSize();
Rectangle abounds = _frame.getBounds();
_frame.setLocation((dim.width - abounds.width) / 2,
(dim.height - abounds.height) / 2);
_frame.requestFocus();
}

lunes, 21 de enero de 2008

Comparar dos JPasswordField

Para comparar el contenido de dos JPasswordField se puede hacer lo siguiente

private boolean isPasswordCorrect(char[] j1,char[] j2) {
boolean valor = true;
int puntero = 0;
if (j1.length != j2.length){
valor = false;
}
else{
while((valor)&&(puntero < j1.length)){
if (j1[puntero] != j2[puntero]){
valor = false;
}
puntero++;
}
}
return valor;
}

El codigo que llama a este método es

if(this.isPasswordCorrect(jp1.getPassword(),jp3.getPassword())){
System.out.println("SON IGUALES");
}
else{
System.out.println("NO SON IGUALES");
}

Crear archivo JAR con JDeveloper

Este video tambien se puede visualizar desde aquí y se puede descargar desde aquí

Desplazamiento horizontal en jScrollPane con JTable

Cuando un JScrollPane contiene a un JTable, se pueden configurar para que aparezcan las barras horizontal y vertical del scrollpane, sin embargo la barra horizontal no aparece en un primer momento debido a que la tabla tiene habilitada la opcion de autoresize. Deshabilitando esta opcion, aparecera sin problemas la barra horizontal.
El codigo es el siguiente:

tabla.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
tabla.doLayout();