Here's the code
Code:
package com.lyon.forum;
import net.rim.device.api.system.TrackwheelListener;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.container.MainScreen;
import net.rim.device.api.ui.container.FlowFieldManager;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.RichTextField;
public class Forum extends UiApplication implements TrackwheelListener
{
public MainScreen _MainScreen;
public static void main( String[] args )
{
Forum forum = new Forum();
forum.enterEventDispatcher();
}
public Forum()
{
this._MainScreen = new MainScreen();
this._MainScreen.addTrackwheelListener( this );
this._MainScreen.setTitle( new LabelField( "Forum", LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH ) );
this._MainScreen.add( new RichTextField( "RichTextFieldA" ) );
this._MainScreen.add( new RichTextField( "RichTextFieldB" ) );
this._MainScreen.add( new RichTextField( "RichTextFieldC" ) );
this.pushScreen( this._MainScreen );
}
public boolean trackwheelClick( int status, int time )
{
Field leafField = this.getActiveScreen().getLeafFieldWithFocus();
if ( leafField instanceof RichTextField )
{
RichTextField richTextField = (RichTextField) leafField;
Dialog.alert( richTextField.getText() );
}
return true;
}
public boolean trackwheelUnclick( int status, int time )
{
return false;
}
public boolean trackwheelRoll(int amount, int status, int time)
{
this._MainScreen.setTitle( this.getActiveScreen().getLeafFieldWithFocus().toString() );
return true;
}
}
I think I'm on the case because .trackwheelRoll() IS being fired but only when you scroll past the Fields.