miércoles, 21 de mayo de 2008

"Una aplicacion en SuperWaba al estilo IPhone" 1/2

El SuperWaba, como su antecesor el Java; cuenta con el manejo de controles graficos, como el Button, Edit, Label, etc, etc.
Para realizar una sencilla pantallita con su boton de salida, se puede utilizar el siguiente codigo:

import waba.fx.Color;
import waba.sys.Convert;
import waba.ui.Button;
import waba.ui.Container;
import waba.ui.ControlEvent;
import waba.ui.Edit;
import waba.ui.Event;
import waba.ui.IKeys;
import waba.ui.KeyEvent;
import waba.ui.Label;
import waba.ui.MainWindow;
import waba.ui.MessageBox;

public class miApp extends MainWindow {
Button btnSalir;

public miApp() {
super("Pantalla con Button",TAB_ONLY_BORDER);
}

public void onStart() {
Container main = new Container();
main.setRect(getClientRect());
main.add(btnSalir = new Button("SALIR"),CENTER-28,CENTER-13);
btnSalir.setRect(CENTER-28,CENTER-13,55,25);
swap(main);
setDoubleBuffer(true);
}

public void onEvent(Event event) {
switch (event.type) {
case KeyEvent.KEY_PRESS:
KeyEvent ke = (KeyEvent)event;
case ControlEvent.PRESSED:
if (event.target == btnSalir) {
exit(0);
event.consumed = true;
break;
}
}
}
}


Y veremos una bonita pantalla con su boton de salir a mitad de ella. Es posible cambiar el color del fondo y del boton agregando las lineas :

main.setBackColor(Color.GREEN);
btnSalir.setBackColor(Color.BLUE);


Pero si desearamos vernos un poco mas modernos, con una interface mucho mas grafica, podemos agregar una imagen como pantalla y en lugar del Button agregar
un icono.
Para ello consigamos primero un archivo jpg, bmp, gif, etc; con la imagen que deseemos tener como fondo.Una vez conseguido el archivo, podemos visualizarlo en algun programa de edicion grafica o en su defecto, podemos utilizar el programa paint que viene con
nuestro Windows.SuperWaba puede manejar archivos graficos como Jpg, pero como supongo que la inmensa mayoria de los que esten leyendo este blog, no contaran con otra version
mas que la freeware (O sea la basica y gratuita) tendremos que convertir nuestro archivo al formato de BMP, respetando dos reglas :

1.- Guardarlo como : "256 Colors Bitmap" o "16 Colors Bitmap"
2.- El archivo que resulte no debe pesar mas de 64Kb




Supongamos que hemos logrado crear un archivo BMP llamado ppal.bmp que pesa 48Kb y queremos utilizarlo en nuestra aplicacion, podemos agregarlo de la
siguiente manera:

import waba.fx.Graphics;
import waba.fx.Image;
import waba.ui.Event;
import waba.ui.MainWindow;
import waba.ui.PenEvent;

public class miApp2 extends MainWindow {
String wFondo = "ppal.bmp";

public void onPaint(Graphics g) {
Image wFoto = new Image(wFondo);
g.drawImage(wFoto, 0, 0);
}

public void onEvent(Event event) {
PenEvent pe ;
switch (event.type) {
case PenEvent.PEN_DOWN:
exit(0);
event.consumed = true;
break;
}
}
}


No olvide que el archivo ppal.bmp debe estar en el mismo directorio donde se ejecuta la aplicacion; para evitarnos problemas, la aplicacion se termina
tocando cualesquier parte.
En la proxima entrega, veremos como agregar iconos y controles a esta aplicacion que hasta este momento, solo cuenta con un fondo.
Saludos y nos veremos en la segunda parte de "Una aplicacion en SuperWaba al estilo IPhone"