Posted by
Martín A. Rodríguez
|
Posted in
IDE
,
Java
,
NetBeans
A igual que la guía anterior que dí sobre cómo Abrir Javadoc desde menú contextual con NetBeans 6.8, no sé si esto que voy a explicar está en versiones anteriores de NetBeans, supongo que sí, ya que es algo muy básico y simple.
Si estamos desarrollando una aplicación (en este ejemplo será un simple Hola "Argumento"), y necesitamos que al momento de ejecutarlo, se le pasen ciertos argumentos al método public static void main (String [] args) de la aplicación, cada vez que lo quisiéramos probar, tendríamos que utilizar la consola del sistema operativo y realizar lo siguiente (si ya lo hemos compilado previamente con javac HolaArgumento.java):
> java HolaArgumento argumento1 argumento2
La idea de este post es explicar cómo se puede pasarle argumentos a un programa Java desde el IDE NetBeans 6.8 sin necesidad de estar ejecutando la aplicación por consola.
Es bastante sencillo, una vez creado el proyecto (HolaArgumentoProject), lo seleccionamos de la parte izquierda, hacemos clic derecho sobre el nombre, y elegimos la última opción Propiedades (Properties):

Ahora en la ventana de propiedades, seleccionamos a la izquierda la opción
Ejecutar (Run), y en la parte derecha, en el campo de texto
Argumentos (Arguments) escribimos los que nos haga falta, no olvidarse de separar cada argumento por un espacio:
Ahora vamos a probarlo con el siguiente código que guardamos en una clase llama
HolaArgumento :
public class HolaArgumento {
public static void main(String[] args) {
for(String argumento: args) {
System.out.println("Hola " + argumento);
}
}
}
Suponiendo que agregamos "argumento1 argumento2" en el campo Argumentos, cuando lo ejecutemos veremos la siguiente salida:
Y listo, cada vez que vayamos a cambiar de argumentos, volvemos a las propiedades del proyecto, opción ejecutar y en el campo Argumentos, modificamos los mismos.
Saludos!
Posted by
Martín A. Rodríguez
|
Posted in
IDE
,
Java
,
NetBeans
Lo que voy a explicar es como asociar la documentación a NetBeans de manera tal que cuando nos posicionemos sobre determinada clase dentro del workspace, al abrir el menú contextual con click derecho sobre la misma, podamos abrir el Javadoc asociado a esa clase en el navegador. De esta manera nos ahorramos bastante tiempo, ya que no debemos buscar la documentación a través de sistemas de archivos cada vez que queremos conocer en más detalle una clase.
No se si esta opción esta disponible en versiones anteriores de NetBeans, ya que recién ahora lo estoy usando con más profundidad.
Bueno, lo primero que necesitamos es bajar la documentación desde el sitio de Sun:
Java SE 6 Documentation. Hoy nos va a bajar la versión 6 update 18, el archivo es un .zip (
jdk-6u18-docs.zip) que para nuestro propósito no necesitamos descomprimirlo, sólo lo guardamos en alguna ubicación adecuada.
Una vez que tenemos la documentación, vamos a realizar los siguientes pasos:
- Abrimos el Netbeans y nos dirigimos al menú Herramientas (Tools) y seleccionamos Plataformas Java (Java Platforms).
- Ahora en la nueva ventana, seleccionamos el JDK 1.6 (en caso de que tengamos varios instalados), luego a la derecha elegimos la pestaña Javadoc, y hacemos clic en el botón Agregar archivo ZIP/carpeta... (Add ZIP/Folder...)
- Buscamos el archivo .zip que hemos bajado anteriormente (jdk-6-doc.zip) y aceptamos. Nos debería salir el archivo agregado en la lista como muestra la siguiente pantalla
- Si todo salió bien, cerramos esa ventana. Ahora nos dirigimos a nuestro workspace y nos posicionamos sobre cualquier clase de la API, para este ejemplo lo voy a hacer sobre la clase System. Hacemos clic derecho sobre la misma y seleccionamos Mostrar Javadoc (Show Javadoc) o con el acceso directo del teclado Alt + F1.
- Y de esta manera, se nos abrirá en el navegador el Javadoc de la clase seleccionada.
Espero que les sea de gran utilidad. Saludos!
Posted by
Martín A. Rodríguez
|
Posted in
Java
,
Learning
,
Noticias
Así es, el famoso sitio de cursos dictados por Sang Shin, JavaPassion, dentro de dos o tres semanas pasará a ser pago.
El costo parece que será una cuota anual de U$S 89 por acceso ilimitado a todos los cursos.
Los cursos son excelentes, y abarcan con gran profundidad la mayoría de los temas relacionados con Java.
Incluso tiene laboratorios para casi todos los tópicos que se tratan, y además para certificar que uno hizo el curso, debe entregar todas las tareas (mini proyectos) que van haciendo que uno obtenga si o si un poco de práctica, y no tanta teoría.
Una verdadera pena, justo ahora quería hacer un par :S, no me parece mal que cobre, porque son cursos muy buenos, me da bronca no haber aprovechado antes este recurso tan valioso.
En la página sale el siguiente comentario, donde no aclara si será pago o no:
Announcement from Sang Shin (Feb. 1st, 2010): In the near future (maybe within 2 or 3 weeks), the courses in javapassion.com will be available as a subscription-based service. (Yes, it is a painful decision on my part.) If you want to receive course announcement in the future, please send an blank email to javapassion-announcement+subscribe@googlegroups.com. All course announcements will be also posted on this website.
Me suscribí para que me lleguen los anuncios sobre comienzo de nuevos cursos, y unos de los primeros mails que recibí en el grupo era de una persona que preguntaba cuando comenzaba el próximo curso, y Sang Shin dejó bastante en claro que iba a ser pago:
Please let me know when does the next batch for Java programming
starts. [...]
As soon as the "paid-subscription" scheme gets implemented. (It will be a few weeks.)
I am planning to get my Java certification. Also would
like to know the price of the course and can this course be taken
It will be $89 per year for unlimited access to all courses of javapassion.com.
during weekends only. Week days is kind of tough since I travel at
work.
The courses are basically self-paced (there is NO real-time webcasting) so you can work on the course material on your own pace.
-Sang Shin
Y navegando por otro sitio encontré otra respuesta similar pero donde explica con más detalle el porqué de su decisión:
On 2/3/2010 4:33 PM, Alex Ruiz wrote:
Pedro and Dante,
From the javapassion website, I can see that the course will be
subscription based, but I never says it requires you to pay money (I
cannot speak for Mr. Shing,) so I think you are jumping into conclusions
too quickly (unless I’m missing something.)
Actually it will be indeed “paid service”. I am not sure how
successful it will be. But I decided to try mainly because
the other choice is “killing javapassion.com” all together.
The price point I am thinking about is $89 per year for unlimited
access to all the courses of “javapassion.com”. (My market research
shows that this is much less expensive compared to other similar
sites which offer “less quality” contents in my opinio. And frankly
my suspicion is that it will be barely enough to sustain “javapassion.com” and me.)
Even if Mr. Shing decides to charge. So what? Mr. Shing already made
public that he left Oracle, and now he is independent. He is completely
free to charge for his knowledge and time, isn’t he? After all, we all
have to make a living.
Thanks for your clarification and support.
-Sang Shin
Posted by
Martín A. Rodríguez
|
Posted in
Luego de varios meses sin postear nada, quiero realizar un relanzamiento del blog, a ver si esta vez le puedo poner más pilas ;).
Para ello he cambiado rotundamente la plantilla para darle un aire nuevo y porque me la criticaron mucho :D. Espero que esta vez les guste aunque sea un poquito más que la anterior.
Para comentarles un poco, no he podido continuar con el blog durante un largo tiempo debido a que estuve a full junto a mis compañeros de tesis para poder recibirnos en el 2009.
Hasta que el momento llegó, las 19 hs. del jueves 19 de noviembre, con el mayor de los éxitos, hicimos la presentación final frente a un tribunal de profesores y frente a todos nuestros familiares y amigos. Y de esa manera logramos obtener el tan anhelado título de Ingeniero en Sistemas de Información.
Y luego de estar casi dos meses sin escribir nada, ya había perdido la costumbre y la confianza, y me costaba mucho escribir sobre algo, así que pasaban los días y nada.
Y por último, en estas semanas estuve preparando el exámen de Microsoft 70-632: TS: Microsoft Office Project 2007, Managing Projects, que aprobé con 949 sobre 1000 :)
Pero bueno, aquí estoy de vuelta, resurgiendo de las cenizas :P. Voy a aprovechar que estoy de vacaciones por unos días más, para ver si me pongo al día con los posts.
Saludos!
Ing. Martín A. Rodríguez (ya puedo firmar con mi Ing.)
Este error suele ser muy común cuando damos nuestros primeros pasos en SQL.
En una consulta SQL, en el SELECT no se puede incluir a la vez una función de agrupación (como son AVG, COUNT, MAX, MIN, SUM, STDDEV, o VARIANCE) y una expresión de columna individual (como el nombre de una columna, o alguna función que calcule para cada fila, como "INGRESOS - EGRESOS"), al menos que la expresión de columna individual esté incluida en la clausula GROUP BY.
Para resolver este error debemos elegir entre las siguientes opciones:
- eliminar la función de agrupación del SELECT,
- eliminar la expresión de columna individual del SELECT, ó
- agregar un clausula GROUP BY que incluya todas las columnas de expresión individual listadas en el SELECT
Listo! ya eliminamos este error y podemos seguir adelante con nuestra consulta
Posted by
Martín A. Rodríguez
|
Posted in
Emulador
,
iPhone
,
Mobile
Si necesitamos ver de una manera rápida una aplicación Web mobile que estemos desarrollando, tenemos dos páginas que nos facilitan esta tarea, emulando un iPhone:
La primera es TestiPhone.com - iPhone Simulator
http://www.testiphone.com/?url=http://impulsojava.blogspot.com
debemos colocar la dirección de nuestra aplicación luego de url=

Posted by
Martín A. Rodríguez
|
Posted in
Excel
,
Java
Cómo ando con poco tiempo, voy a realizar un post corto pero muy útil, ya que esta información me sirvió mucho para un proyecto donde tuve la necesidad de abrir un archivo .xls o .xlsx desde una aplicación Java.
Para ello, podemos utilizar el siguiente código:
String file = new String("C:\\archivo.xls");
try
{
Process p = Runtime.getRuntime().exec ("rundll32 SHELL32.DLL,ShellExec_RunDLL "+file);
}
catch (Exception e)
{
System.put.println("Error al abrir el archivo " + file + "\n" + e.getMessage());
}
Donde en el String file guardamos la ruta absoluta donde está el archivo. Prestar atención a la doble barra \\, ya que la misma es un caracter de escape, se debe colocarla dos veces para que nos tome una sóla.
Ahora bien, si necesitamos abrir un archivo Excel en un proyecto Web, donde le tenemos que indicar la ruta pero dentro del proyecto, podemos definir el String file de la siguiente manera:
String file = new String("http:\\\\localhost:8080\\Proyecto\\archivo.xls");
Espero haber sido claro, hasta la próxima!
Posted by
Martín A. Rodríguez
|
Posted in
Humor
Este post se lo dedico a mis lectores, ya que me solicitaron que deje de escribir tanto sobre Java y que publique un poco más sobre humor.
Y para continuar con el último post sobre humor que fué sobre un diagrama de flujo, acá va este nuevo que encontré el otro día:
Ayer estaba trabajando en SQL Server 2005 con Microsoft SQL Server Management Studio (el entorno que trae por defecto para manejar las bases de datos) y cuando quería restaurar una base de datos de un proyecto me salía el siguiente error:
System.Data.SqlClient.SqlError: RESTORE cannot process database 'name' because it is in use by this session. It is recommended that the master database be used when performing this operation. (Microsoft.SqlServer.Smo)
name: el nombre de la base de datos

Posted by
Martín A. Rodríguez
|
Posted in
Humor
Esta imagen me ha hecho reír muchísimo. No me canso de recorrer el diagrama y volver a reírme como la primera vez que lo vi hace un tiempo
acá
(Clic sobre la imagen para agrandarla, después volvé a comentar :D )
Posted by
Martín A. Rodríguez
|
Posted in
Blogger
Comencé mi blog en Blogger porque me parece una plataforma que permite en unos minutos tener listo nuestro blog y en forma gratuita.
Y navegando por otros blogs me he enterado que Blogger nos limita el ancho de banda en las imágenes que utilizamos para adornar nuestros posts. Si bien es muy poco frecuente que alguien supere ese ancho de banda, salvo que sea un sitio muy visitado, existe una forma de eliminar esta restricción.
La forma es muy sencilla y consiste en:
Posted by
Martín A. Rodríguez
|
Posted in
Blogger
Lo primero que debemos hacer es ir a la edición html de nuestra plantilla, expandir artilugios y buscar el siguiente código:
<div class='post-header-line-1'/>
(Aclaración: en la mayoría de las plantillas funciona ese código, pero para quienes no lo encuentren busquen por:
<data:post.body/> )
Puede darse el caso de que querramos devolver un texto o valor dependiendo del dato de una columna en una tabla Oracle.
Por ejemplo
Si tenemos una tabla de nombre Empleados_Salarios con los campos
Empleado, Salario
y con valores
Agustin, 20.000
Ignacio, 1.500
Nicolás, 10.000
Posted by
Martín A. Rodríguez
|
Posted in
Humor
Para quien no conoce el concepto de “Bucle Infinito”, aquí queda claro lo que significa cuando se dice que un programa “entró en ciclo infinito”.
El director le dice a la secretaria:
- Vamos a viajar al exterior por una semana, para un Seminario. Haga los preparativos del viaje..
La secretaria llamada al marido:
- Voy a viajar al exterior con el director por una semana. Cuídate, querido.
El marido llama a la amante:
- Mi mujer va a viajar al exterior por una semana, vamos a pasarnos esa semana juntos, mi reina…
Posted by
Martín A. Rodríguez
|
Posted in
Blogger
Navegando por distintos blogs alojados en Blogger me he dado cuenta de que algunos tienen en la parte superior la barra de navegación y otros no. Por lo que me decidí a investigar como quitarla.
El proceso es muy simple: