Gestori di evento in NXT

Esercizio per casa: realizzare un programma che legga e visualizzi sulla prma riga il valore del sensore di luce mediante un ascoltatore di evento; rallentare l’esecuzione con una pausa di 1/2 secondo.

1º metodo

import lejos.nxt.Button;
import lejos.nxt.SensorPort;
import lejos.nxt.SensorPortListener;
import lejos.nxt.TouchSensor;

public class TouchSensorEvent {
	
	private TouchSensor ts;
	
	private class TouchSensorListener implements SensorPortListener {

		@Override
		public void stateChanged(SensorPort aSource, int aOldValue, int aNewValue) {
			System.out.println(aOldValue + " => " + aNewValue);	
		}
		
	}

	public TouchSensorEvent() {
		ts = new TouchSensor(SensorPort.S1);
		SensorPort.S1.addSensorPortListener(new TouchSensorListener());
	}
	
	public static void main(String[] args) {
		new TouchSensorEvent();
		Button.ESCAPE.waitForPressAndRelease();
	}

}

2º metodo

import lejos.nxt.Button;
import lejos.nxt.SensorPort;
import lejos.nxt.SensorPortListener;
import lejos.nxt.TouchSensor;

public class TouchSensorEvent2 implements SensorPortListener {

	private TouchSensor ts;

	@Override
	public void stateChanged(SensorPort aSource, int aOldValue, int aNewValue) {
			System.out.println(aOldValue + " => " + aNewValue);	
	}

	public TouchSensorEvent2() {
		ts = new TouchSensor(SensorPort.S1);
		SensorPort.S1.addSensorPortListener(this);
	}

	public static void main(String[] args) {
		new TouchSensorEvent2();
		Button.ESCAPE.waitForPressAndRelease();
	}

}

3º metodo

import lejos.nxt.Button;
import lejos.nxt.SensorPort;
import lejos.nxt.SensorPortListener;
import lejos.nxt.TouchSensor;

public class TouchSensorEvent3 {

	private TouchSensor ts;
	
	public TouchSensorEvent3() {
		ts = new TouchSensor(SensorPort.S1);
		SensorPort.S1.addSensorPortListener(new SensorPortListener() {

			@Override
			public void stateChanged(SensorPort aSource, int aOldValue, int aNewValue) {
			System.out.println(aOldValue + " => " + aNewValue);	
			}
			
		} );
	}
	
	public static void main(String[] args) {
		new TouchSensorEvent3();
		Button.ESCAPE.waitForPressAndRelease();
	}

}