Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/09/2009, 21:45
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: como cargar un JProgreesBar en tiempo Real

Hola zaccarelliasbun,

A eso me refería específicamente, no creo que exista una manera sencilla de hacer eso que comentas, además de complejo es como decirlo ... 'no muy útil' en este caso. Y no lo recomiendo personalmente, aunque ...

Le llamo módulo a cada componente que agrega funcionalidad a tu aplicación (NetBeans le llama Componentes), en Java casi todo son clases, así que vendría siendo cualquier clase (un JFrame, un Object, etc., algo que tengas separado). Por ejemplo, en NetBeans puedes agregar el módulo para Java ME y este agrega muchas funcionalidades nuevas a NetBeans, específicas para Java ME.

Además tendrías que investigar mucho más puesto que posiblemente vas a experimentar comportamientos diferentes a una carga normal de una clase, diferentes threads de ejecución, etc.

Aun de esa forma, podrías probar con este código:

Este sería el módulo (clase) que vas a cargar dinámicamente.
Código Java:
Ver original
  1. package HelloWorld;
  2. public class HelloWorldPlugIn {
  3.     public HelloWorldPlugIn() {
  4.         javax.swing.JOptionPane.showMessageDialog(null, "Hello World!");
  5.     }
  6. }

La aplicación principal que carga el módulo HelloWorldPlugIn dinámicamente.
Código Java:
Ver original
  1. package HelloWorld;
  2. public class Main {
  3.     public static void main(String[] args) {
  4.         try {
  5.             Class hw = Class.forName("HelloWorld.HelloWorldPlugIn");
  6.             hw.newInstance();
  7.             // Actualizar el ProgressBar y pasar al siguiente 'modulo'
  8.             // Class hw2 = .... etc.
  9.         } catch (InstantiationException ex) {
  10.             ex.printStackTrace();
  11.         } catch (IllegalAccessException ex) {
  12.             ex.printStackTrace();
  13.         } catch (ClassNotFoundException ex) {
  14.             ex.printStackTrace();
  15.         }
  16.     }
  17. }

Ahora la cantidad de módulos, ¿como lo vas a saber?, contándolos y cargando uno a uno de la misma forma, en NetBeans tienen una lista en formato XML y enumera varias carpetas donde están los módulos, es decir, es un proceso muy complejo, cuando descargas de Internet un módulo nuevo en NetBeans, este lo agrega a la lista de cosas que tiene que cargar la próxima vez que lo abras.

Ahora ... para el caso que solo vas a cargar un módulo, es decir .. solo cargas tu aplicación principal y quieres saber cuanto tiempo va a cargar ... sé que se puede hacer puesto que NetBeans permite monitorear ese tipo de cosas con el plugin "Profiler" y NetBeans está hecho completamente en Java (aunque existe la posibilidad que necesite un par de librerías específicas del Sistema Operativo .dll) ... pero esto último sinceramente nunca lo he implementado.

Saludos,

Última edición por HackmanC; 24/09/2009 a las 21:56 Razón: Ortografía :)