|
JProgressBar.Su aspecto sería el siguiente: ..... JProgressBar mibar; // definimos la barra de progreso mibar=new JProgressBar(0,500); // creamos la barra de progreso mibar.setValue(220); // establecemos el valor inicial mibar.setStringPainted(true); // las marcas se deben mostrar ..... mibar.setStringPainted(true); mibar.setString("220/500"); Timers. JProgressBar mibar; // definimos la barra de progreso Mitarea tarea=new Mitarea(); // tarea a llevar a cabo Timer mitimer; // definimos un timer JButton aceptar=new JButton(" Aceptar "); // definimos los botones JButton cancelar=new JButton(" Cancelar "); JButton resetear=new JButton(" Resetear "); JPanel mipanel=new JPanel(); // definimos los paneles necesarios JPanel otropanel=new JPanel(); JPanel panelprincipal=new JPanel(); JTextArea miarea=new JTextArea(30,8); // definimos el área de texto String nuevalinea=""; JScrollPane miscroll=new JScrollPane(miarea); // el scrollpane contiene al área de texto AvisoProgressBar ventanaaviso=new AvisoProgressBar(); // ventana de aviso public ProgressBarDemo() { super(TITULO); setSize(ANCHURA,ALTURA); move(50,50); mipanel.setLayout(new GridLayout(2,1,0,10)); mipanel.setBorder(BorderFactory.createEtchedBorder()); otropanel.setLayout(new GridLayout(1,3,7,0)); otropanel.add(aceptar); otropanel.add(cancelar); otropanel.add(resetear); aceptar.addActionListener(new TratarBotonesProgressBar()); cancelar.addActionListener(new TratarBotonesProgressBar()); resetear.addActionListener(new TratarBotonesProgressBar()); mibar=new JProgressBar(0,tarea.getLengthOfTask()); mibar.setValue(0); // establecemos el valor inicial mibar.setStringPainted(true); mipanel.add(otropanel); mipanel.add(mibar); panelprincipal.setLayout(new BorderLayout()); panelprincipal.add(mipanel,BorderLayout.NORTH); miarea.setEditable(false); panelprincipal.add(miscroll,BorderLayout.CENTER); panelprincipal.setBorder(BorderFactory.createEmptyBorder(20,20,20,20)); contenedor=getContentPane(); contenedor.add(panelprincipal); mitimer=new Timer(1500,new TratarTimer()); addWindowListener(new CerrarProgressBarDemo()); setVisible(true); } class TratarTimer implements ActionListener { public void actionPerformed (ActionEvent e) { mibar.setValue(tarea.obtenerValorActual()); // obtenemos el estado actual de la tarea miarea.append(tarea.obtenerMensaje()); // mostramos el mensaje en el área de texto miarea.append(nuevalinea); if (tarea.acabada()) { // si la tarea ha finalizado mitimer.stop(); // paramos el timer aceptar.setEnabled(true); // volvemos a poner activo el boton "Aceptar" mibar.setValue(0); // inicializamos la barra de progreso ventanaaviso.show(); // mostramos la ventana indicativa de que } // la barra de progreso llegó a su fín } } class TratarBotonesProgressBar implements ActionListener { public void actionPerformed (ActionEvent e) { String botonpulsado=e.getActionCommand(); if (botonpulsado.equals(" Aceptar ")) { aceptar.setEnabled(false); // desactivamos el botón "Aceptar" tarea.comenzar(); // comienza la tarea mitimer.start(); // comienza a contar el timer } if (botonpulsado.equals(" Cancelar ")) { mitimer.stop(); // paramos tanto la tarea como el timer tarea.stop(); } if (botonpulsado.equals(" Resetear ")) { mibar.setValue(0); // inicializamos la barra de progreso a valor 0 aceptar.setEnabled(true); // volvemos a poner activo el botón "Aceptar" miarea.setText(""); // limpiamos el área de texto } } } METODOS PRINCIPALES CON BARRAS DE PROGRESO | Método | Descripción |
| JProgressBar() | Crea una barra de progreso. |
| JProgressBar(int, int) | Crea una barra de progreso, con los valores mínimo y máximo, respectivamente, pasados como parámetros. |
| void setMinimum(int) int getMinimum() | Establece y obtiene, respectivamente, el valor mínimo de la barra de progreso. |
| void setMaximum(int) int getMaximum() | Establece y obtiene, respectivamente, el valor máximo de la barra de progreso. |
| void setValue(int) int getValue() | Establece y obtiene, respectivamente, el valor actual de la barra de progreso. Este valor debe ser mayor o igual que el valor mínimo y menor o igual que el valor máximo. |
| double getPercentComplete() | Obtiene el porcentaje que se ha completado de la barra de progreso. |
| void setStringPainted(boolean) boolean isStringPainted() | Establece y obtiene, respectivamente, si la barra de progreso muestra el porcentaje. |
| void setString(String) String getString() | Establece y obtiene, respectivamente, el texto alternativo al porcentaje. |
| void setOrientation(int) int getOrientation() | Establece y obtiene, respectivamente, la orientación de la barra de progreso. Los valores posibles son JProgressBar.VERTICAL y JProgressBar.HORIZONTAL (por defecto). |
6.- sergio
5.- Johnny Quijano
4.- Moni
3.- Melissa Guevara
2.- ROGER