|
Buscador
Secciones
Otras zonas
Registro
Foros
Recomendamos
|
Abajo está el código de ProgressBarDemo.java que crea y configura la barra de proceso.
...where member variables are delcared...
JProgressBar progressBar;
...
...in the constructor for the demo's frame...
progressBar = new JProgressBar(0, task.getLengthOfTask());
progressBar.setValue(0);
progressBar.setStringPainted(true);
El constructor usado para crear la barra de progreso selecciona los valores máximo y mínimo de la barra. También se pueden seleccionar estos valores con los métodos setMinimum y setMaximum. Los valores mínimo y máximo utilizados en este programa son 0 y la longitud de la tarea, lo que es típico de muchos programas y tareas. Sin embarguo, los valores máximo y mínimo de una barra de progreso pueden ser cualquier valor, incluso negativos. El código también selecciona el valor actual de la barra a 0. Los valores mínimo, actual, y máximo deben relacionarse de esta forma. minimum <= current <= maximum Si se intenta seleccionar uno de los valores y el nuevo valor viola la relación, la barra de progreso ajusta uno o más de los otros valores de acuerdo a las reglas establecidas por BoundedRangeModel para mantener la relación. La llamada a setStringPainted hace que la barra de progreso muestre un string de porcentaje dentro de sus límites. Por defecto, la cadena indica el porcentaje completo de la barra de progreso. El string de procentaje es el valor devuelto por el método getPercentComplete formateado a porcentaje. Otra alternativa es mostrar un string diferente con setString. Se arranca la tarea pulsando el botón Start. Una vez que la tarea ha comenzado, un temporizador (un ejemplar de la clase Timer) dispara un evento actión cada segundo. Aquí está el método ActionPerformed del oyente de ation del temporizador.
public void actionPerformed(ActionEvent evt) {
progressBar.setValue(task.getCurrent());
taskOutput.append(task.getMessage() + newline);
taskOutput.setCaretPosition(taskOutput.getDocument().getLength());
if (task.done()) {
Toolkit.getDefaultToolkit().beep();
timer.stop();
startButton.setEnabled(true);
progressBar.setValue(progressBar.getMinimum());
}
}
La línea en negrita obtiene la cantidad de trabajo completada por la tarea y actualiza la barra de progreso con ese valor. Por eso la barra de progreso mide el progreso hecho por la tarea cada segundo, no el tiempo enlapsado. El resto del código actualiza la salida, y si la tarea se ha completado, desactiva el temporizador, y resetea los otros controles. Como se ha mencionado antes, la tarea de larga duración de este programa se ejecuta en un thread separado. Generalmente, es una buena idea aislar una tarea potencialmente de larga duración en su propio thread para que no bloquee el resto del programa. La tarea de larga duración está implementada por LongTask.java, que utiliza un SwingWorker para asegurarse de que el thread se ejecuta de forma segura dentro de un programa Swing. Puedes ver Usar la clase SwingWorker en Threads y Swing para más información sobre la clase SwingWorker.
|
| Método | Propósito |
|---|---|
| void setValue(int)
int getValue() |
Selecciona u obtiene el valor actual de la barra de progreso. El valor está limitado por los valores máximo y mínimo. |
| double getPercentComplete() | Obtiene el procentaje terminado por la barra de progreso. |
| void setMinimum(int)
int getMinimum() |
Selecciona u obtiene el valor mínimo de la barra de progreso. |
| void setMaximum(int)
int getMaximum() |
Selecciona u obtiene el valor máximo de la barra de progreso. |
| void setModel(BoundedRangeModel)
BoundedRangeModel getMaximum() |
Selecciona u obtiene el modelo utilizado por la barra de progreso. El modelo establece los valores y restricciones de la barra de progreso. Podemos utilizar este método como alternativa a utilizar los métodos de selección u obtención individuales listados arriba. |
Ajuste Fino de la Apariencia de la Barra de Progreso
| Método | Propósito |
|---|---|
| void setOrientation(int)
int getOrientation() |
Selecciona u obtiene si la barra de progreso es vertical u horizontal. Los valores aceptados son JProgressBar.VERTICAL o JProgressBar.HORIZONTAL. |
| void setBorderPainted(boolean)
boolean isBorderPainted() |
Selecciona u obtiene si la barra de progreso tiene borde. |
| void setStringPainted(boolean)
boolean isStringPainted() |
Selecciona u obtiene si la barra de progreso meustra el porcentaje. Por defecto, el valor de la cadena de porcentaje es el valor devuelto por getPercentComplete formateado a porcentaje. Podemos cambiar la cadena de porcentaje con setString. |
| void setString(String)
String getString() |
Selecciona u obtiene la cadena de porcentaje. |
Configurar un Monitor de Progreso
| Método | Propósito |
|---|---|
| ProgressMonitor(Component, Object, String, int, int) | Crea un monitor de progreso e inicializa el padre del diálogo, el string descriptivo, la nota de estado y los valores mínimo y máximo. |
| void setMinimum(int)
int getMinimum() |
Selecciona u obtiene el valor mínimo del monitor de progreso. |
| void setMaximum(int)
int getMaximum() |
Selecciona u obtiene el valor máximo del monitor de progreso. |
| void setProgress(int) | Actualiza el monitor de progreso. |
| void setNote(String)
String getNote() |
Selecciona u obtiene la nota de estado. Esta nota se muestra en el diálogo. Para omitirla, se proporciona null como el tercer argumento del constructor del monitor. |
| void setMillisToPopup(int)
int getMillisToPopup() |
Selecciona u obtiene el tiempo después del cual el monitor debería desplegar el diálogo sin importar el estado de la tarea. |
| void setMillisToDecideToPopup(int)
int getMillisToDecideToPopup() |
Selecciona u obtiene el tiempo después del cual el monitor debería desplegar el diálogo si la tarea no se ha completado. |
Terminar el Monitor de Progresos
| Método | Propósito |
|---|---|
| close() | Cierra el monitor de progreso. Esto oculta el diálogo. |
| boolean isCanceled() | Determina si el usuario ha pulsado el botón Cancel. |
| Leer comentarios (432) | |
| Escribir comentario | |
| Puntuación: |
|
| Votar | |
| Recomendar este tutorial | |
| Estadísticas |
Copyright © 1999-2010
Programación en castellano.
Todos los derechos reservados.
Formulario de Contacto -
Datos legales -
Publicidad
Desarrollo web y diseño profesional por Color Vivo Internet. Un proyecto de los Hermanos Carrero
red internet: videos gratis | messenger gratis | decoración | juegos gratis | servidores dedicados
más internet: recursos gratis | bitácoras | gifs animados