JZLoader

JZLoader

Me di cuenta que JME no ofrece un componente grafico para mostrar el progreso de un proceso o accion. Esto me motivo a crear uno propio. Lo desarrolle usando la clase Canvas y dibujando la barra de progreso en ella, junto con un mensaje.

Clase Principal

package clases;

import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class Principal extends MIDlet {

Display p;
JZLoader loader;

public Principal() {
p=Display.getDisplay(this);
loader=new JZLoader("Java Zone ME",30);
Thread t=new Thread(loader);
t.start();
}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}

protected void pauseApp() {
}

protected void startApp() throws MIDletStateChangeException {
p.setCurrent(loader);
}
}

Clase JZLoader

package clases;

import javax.microedition.lcdui.*;

public class JZLoader extends Canvas implements Runnable{

String mensaje="";
String estado="Cargando";
int maximo=getWidth()-40;
int valor=20;
int velocidad=50;
public JZLoader(String men, int v){
mensaje=men;
velocidad=v;
}
protected void paint(Graphics g) {
g.setColor(255, 255, 255);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0, 0, 0);
g.setFont(Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_LARGE));
g.drawString(mensaje, getWidth()/2, getHeight()/2-30, Graphics.BASELINE|Graphics.HCENTER);
g.setColor(255, 200, 80);
g.drawRoundRect(20, getHeight()/2, getWidth()-40, 20, 25, 25);
g.fillRoundRect(20, getHeight()/2, valor, 20, 25, 25);
g.setColor(100,100,100);
g.drawString(estado, getWidth()/2, getHeight()/2+50, Graphics.BASELINE|Graphics.HCENTER);
}

public void run() {
while(valor<maximo){
try {
valor+=2;
Thread.sleep(velocidad);
repaint();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
estado="Completado";
repaint();
}
}

Descargar

Podran descargar el proyecto directamente desde aqui. Les recuerdo que se incluye junto con el proyecto los archivos fuentes, imagenes de su funcionamiento, el correspondiente JAR y JAD. El proyecto se desarrollo en Eclipse IDE.

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Michel Zúñiga

Muy interesante todos estos post.

Vientos muy buenos post sobre JME.

Percepcion

beto, ya había visto ese componente pero en mi opinión es mas como un indicador y no una barra de progreso. He visto que se mucho como para subir de volumen o cosas así, pero no lo he visto que lo usen como barra de progreso.