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
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
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.
- roger1345's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Muy interesante todos estos post.
Vientos muy buenos post sobre JME.
http://www.java2s.com/Code/Ja
http://www.java2s.com/Code/Java/J2ME/Gauge.htm
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.