domingo, 18 de abril de 2010

Aspectos Tecnicos (Comunicacion de Clasificador y Computadora XO-Parte 2)

Despues de haber discutido la implementacion del programa del rotot Clasificador veamos como se realizo la aplicacion para la computadora XO.

Todo comienza con la clase Main, la cual crea un ojbeto NXTComm al crear la comunicacion mandandole como parametro que sera atraves de la USB.

Se crea un arreglo de objetos Info buscando en la comunicaion y pasandole como parametro que sera de tipo USB.

Se crea dos objetos un DataOutputStream y un DataImputStream obteniendo para ambos el bojeto comunicacion y los respectivos Input y Output Stream.

Con estos objetos se crea la ventana y se hace visible.

Este main sera como el siguiente

public static void main(String[] args) {
DataOutputStream dos;
DataInputStream dim;
try {
NXTComm nxtComm = NXTCommFactory.createNXTComm(NXTCommFactory.USB);
NXTInfo[] infos = nxtComm.search(null, NXTCommFactory.USB);
nxtComm.open(infos[0]);
dos = new DataOutputStream(nxtComm.getOutputStream());
dim = new DataInputStream(nxtComm.getInputStream());
new MainWindow(dos, dim).setVisible(true);
}catch (NXTCommException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}

}
La interfaz tendra dos botones btnProcessFood y btnProcessWaste ambos botones tienen el evento action performed que solo seleccionara btnProcessFoodAction cuando se selecciona btnProcessFood y btnProcessWasteAction cuadno se seleccion btnProcessFood.

Esta parte de codigo sera como la siguiente:

public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnProcessFood)
btnProccessFoodAction();
else if(e.getSource()==btnProcessWaste)
btnProcessWasteAction();
}

private void btnProccessFoodAction() {
dSystem.startBlinking();
}

private void btnProcessWasteAction() {
dSystem.createNDiscardTrash();
}

El metodo btnProcessFoddAction llama a al sistema digestivo indicandole que debe empezar el proceso en que la pelota es un nutriente de comida.

El metodo btnProcessFoodAction llama al sistema digestivo indicandole que debe empezar el proceso en que la pelota es un desecho.

Oor ultimo DygestSystem, tambien se encarga del la simulacion en pantalla en la interfaz grafica. Utilizando el metodo paint.

Los codigos se pueden descargar de esta pagina.

No hay comentarios:

Publicar un comentario