Páginas

18/6/15

ZapfDingbatsList symbol list images.

ZapfDingbatsList symbol list imágenes.

ZapfDingbatsList symbol list, todos los símbolos que puedes crear con esta lista.




Si estas utilizando lowagie iText para crear un PDF y necesitas crear una lista con un símbolo en especial pero no sabes cómo hacerlo, o no tienes idea de cuáles son los símbolos que puedes usar, en este Dato Java te traigo la lista de símbolos disponibles en ZapfDingbatsList, recuerda que para crear una lista en lowagie iText necesitas este bloque de codigo:
  com.lowagie.text.List list = (com.lowagie.text.List) new ZapfDingbatsList(51);
  list.add(new ListItem("Item 1"));
  list.add(new ListItem("Item 2"));
  list.add(new ListItem("Item 3"));
  list.add(new ListItem("Item 4"));

  document.add(list);
  
En el constructor de la lista ZapfDingbatsList pasamos el numero del símbolo que queremos utilizar, ese código anterior muestra este resultado en un PDF:
ZapfDingbatsList ejemplo
ZapfDingbatsList ejemplo
Y aquí te dejo los códigos de los símbolos que puedes utilizar en lowagie iText con una lista de tipo ZapfDingbatsList.
ZapfDingbatsList lista de simbolos
ZapfDingbatsList lista de símbolos
Si te sirvió de algo recuerda compartir y si tienes una duda coméntala. Suerte!!

17/6/15

Múltiples partialTriggers en adf. Varios partialTriggers en inputText/outputText

Múltiples partialTriggers en adf. Varios partialTriggers en inputText/outputText.

Múltiples o varios partialTriggers en un solo tag inputText/outputText de adf.




A veces queremos que dependiendo de un evento en particular, ya sea presionar un botón, ingresar un valor en un input o seleccionar un radio button en la interfaz de usuario se refresque un determinado componente o con el atributo partialTriggers, en este Dato Java explico cómo hacer para que un componente se refresque con varios eventos, por ejemplo, 2 input refrescan el mismo componente sin actualizar toda la pagina.
      
       
       
       
       
       
       
      
  
Como se ve en el código anterior es algo fácil, pero si no sabes, esta duda te puede quitar tiempo valioso, solo tenemos que poner en el atributo partialTriggers la cantidad de id's que refrescan ese componente y así podemos refrescar nuestro componente adf con varios partialTriggers.

16/6/15

CallableStatement con parámetros IN/OUT desde java.

CallableStatement con parámetros IN/OUT desde java.

Como ejecutar una consulta a Oracle PL/SQL con un parámetro IN/OUT desde CallableStatement Java.




Cuando trabajamos en Java con una base de datos Oracle PL/SQL sabemos que siempre en el DAO hacemos la llamada a un Strored Procedure y dependiendo de sus parámetros pasamos el valor correcto. Suponiendo que el Stored Procedure sea declarado en Oracle de esta manera:
  PROCEDURE SP_BUSCAR_USUARIO(NUMERO_DOCUMENTO IN NUMBER,
                              CODIGO_MENSAJE   OUT NUMBER,
                              MENSAJE          OUT VARCHAR2);
  
Ya sabemos que este SP tiene parámetros de entrada (IN) y de salida (OUT), para ejecutar este SP desde Java tenemos que hacer esto:
  CallableStatement callableStatement = null;
  Connection connection = null;
  ResultSet resultSet = null;

  String mensajeDevuelto = "";
  int codigoMensaje = 0;
  String sql = "{ CALL  PAQUETE_DATO_JAVA.SP_BUSCAR_USUARIO(?,?,?) }";
  try {
   connection = Control.getConnection();

   callableStatement = connection.prepareCall(sql.toString());
   callableStatement.setInt(1, numeroDocumento);
   callableStatement.registerOutParameter(2, OracleTypes.INTEGER);
   callableStatement.registerOutParameter(3, OracleTypes.VARCHAR);
   
   callableStatement.execute();
   
   codigoMensaje = callableStatement.getInt(2);
   mensaje = callableStatement.getString(3);

   //......
  
Como vemos anteriormente cuando un SP recibe parámetros de entrada (IN) en Java nosotros seteamos el parámetro en el CallableStatement, y si el SP recibe parámetros de salida (OUT) nosotros en Java registramos el tipo de parámetro de salida en el CallableStatement y después procedemos a insertarlo en una variable. Ahora lo que puede enredarnos es como hacer cuando un SP recibe un parámetro de entrada y salida (IN OUT), es sencillo eso lo hacemos así, suponiendo que esta sea la declaración del SP:
  PROCEDURE SP_BUSCAR_USUARIO(NUMERO_DOCUMENTO IN NUMBER,
                              CODIGO_MENSAJE   IN OUT NUMBER,
                              MENSAJE          OUT VARCHAR2);
  
Así lo ejecutamos desde Java:
  CallableStatement callableStatement = null;
  Connection connection = null;
  ResultSet resultSet = null;

  String mensajeDevuelto = "";
  int codigoMensaje = 0;
  String sql = "{ CALL  PAQUETE_DATO_JAVA.SP_BUSCAR_USUARIO(?,?,?) }";
  try {
   connection = Control.getConnection();

   callableStatement = connection.prepareCall(sql.toString());
   callableStatement.setInt(1, numeroDocumento);
   callableStatement.setInt(2, codigoMensaje);
   callableStatement.registerOutParameter(2, OracleTypes.INTEGER);
   callableStatement.registerOutParameter(3, OracleTypes.VARCHAR);
   
   callableStatement.execute();
   
   codigoMensaje = callableStatement.getInt(2);
   mensaje = callableStatement.getString(3);

   //......
  
Para que eso funcione primero tenemos que setear en el parámetro de entrada en el CallableStatement y después registrar el tipo de parámetro de salida en el mismo índice. Suerte, espero te sirva este Dato Java.

12/6/15

Tutorial de Aplicación Java Swing. Ejemplo simple y sencillo.

Aplicación Java Swing Simple y Sencilla.

Tutorial de Aplicación Java Swing, ejemplo de una aplicación Swing con varias ventanas.




Cuando estaba comenzando a programar en Java Swing después de ver tantos artículos y "tutoriales" locos de la web muchas veces no encontraba lo que en realidad estaba buscando, quería saber como hacer una aplicación Swing con varias ventanas, actualizando la misma ventana, después con un poco más de experiencia comencé con los tutoriales de Java Sun los cuales recomiendo con los ojos cerrados, todo lo que tenga que ver con Java podrás encontrarlo ahí. Casi siempre comenzamos a practicar con los componentes de Swing, o con el famoso y comercial "Hola Mundo", bueno en esta entrada vamos a hacer un mini tutorial en el cual vamos a crear una aplicación Java Swing simple y sencilla con más de una ventana, la idea es ver el funcionamiento de una aplicación con más de una ventana y distintos componentes. Como es algo sencillo y mi estilo en Swing es sin utilizar ningún GUI Builder (tipo WindowBuilder), ni ningún plugin parecido, vamos hacerlo todo manual. Bueno manos al teclado, haremos una ventana simple imitando una ventana de login y si el usuario y la clave son correctos nos lleva a otra ventana de inicio, esta fácil...


22/5/15

Como instalar WindowsBuilder en eclipse o en JBoss Developer Studio

Como instalar WindowBuilder en eclipse/JBoss Developer Studio.

Instalación del plugin WindowBuilder en eclipse/JBoss Developer Studio..




Cuando necesitamos hacer una interfaz grafica nos ponemos creativos primero en nuestra mente, a veces agarramos un papel y lapiz y comenzamos a dibujar como sería nuestra interfaz, también por cosas de rapidez es necesario utilizar algún programa que con solo arrastrar los componentes a una ventana podamos construir la interfaz y mejor aún si nos va creando el codigo de una vez, aquí es donde entra en el juego el plugin para eclipse o JBoss Developer Studio que lleva por nombre WindowBuilder, personalmente si tengo tiempo y estoy en la capacidad prefiero crear la interfaz manualmente (siento que así aprendo un poco más). Si descargamos eclipse/JBoss Developer Studio en cualquier version reciente ya viene el plugin incluido pero hay veces en las que ya tenemos una version que no tiene ese plugin y necesitamos agregarlo a nuestro developer de esta manera:
1) Ingresamos a este link oficial de eclipse.
Descargar WindowBuilder
Descargar WindowBuilder

19/5/15

Diferencia entre throw y throws en Java.

Diferencia entre throw y throws en Java.

Diferencias entre throw y throws, como utilizar estas palabras reservadas.




Hablando de excepciones en Java a veces caemos en la confusión con las palabras reservadas throw y throws ya que son muy similares, voy a dar unos breves ejemplos de cómo se utilizan y para qué sirven. Las excepciones en Java son básicamente los problemas o fallas que puede tener nuestra aplicación al momento de ejecutarla o en su ejecución, estas excepciones tenemos que manejarlas en los respectivos bloques de try - catch. La palabra reservada throw nos sirve para lanzar una excepción en cualquier bloque de código de nuestra aplicación, si te preguntas cual es la utilidad de esto te pongo el siguiente caso:

Supongamos que hacemos un método en el cual validamos ciertos datos, si hay un dato que según nuestros cálculos excede de un determinado valor podemos lanzar una excepción, ya sea creada por nosotros mismos o cualquiera del tipo java.lang.throwable, por ejemplo:
 public void pruebaThrow() throws Exception {
  Exception exception = new Exception();
  int a = 98;
  int b = 101;

  if (a > 100 || b > 100) {
   throw exception;
  }
 }
 
Como vemos en la línea número 07 lanzamos la excepción! OjO, ya sabemos que estas cosas hay que validarlas y no lanzar excepción de una vez, solo pongo esto de ejemplo para entender su funcionalidad...
Al hacer eso notaremos que la aplicación se detiene por la excepción.
La palabra reservada throws funciona para indicarnos que un método lanza una excepción de un tipo especifico o general, se puede utilizar si la excepción se va manejar con un try - catch o no. Así se utiliza:
 public static void prueba() throws SQLException {
  // Manejamos la excepcion de tipo SQL
 }

 public static void prueba() throws NullPointerException {
  // Manejamos la excepcion de tipo NULL
 }

 public static void prueba() throws DataFormatException {
  // Manejamos la excepcion de tipo DataFormat
 }
 
Si te fijas en el primer ejemplo de throw ya utilizamos la palabra reservada throws para especificar que ese metodo lanzaba una excepción. No hay mas nada que explicar por ahora...