User Guide
1114 ScrollPane component
The first usage example uses a dispatcher/listener event model. A component instance
(
scrollPaneInstance) dispatches an event (in this case, progress) and the event is handled
by a function, also called a handler, on a listener object (
listenerObject) that you create.
You define a method with the same name as the event on the listener object; the method is
called when the event is triggered. When the event is triggered, it automatically passes an
event object (
eventObject) to the listener object method. Each event object has properties
that contain information about the event. You can use these properties to write code that
handles the event. Finally, you call the
EventDispatcher.addEventListener() method on
the component instance that broadcasts the event to register the listener with the instance.
When the instance dispatches the event, the listener is called.
For more information, see “EventDispatcher class” on page 499.
The second usage example uses an
on() handler and must be attached directly to a ScrollPane
instance. The keyword
this, used inside an on() handler attached to a component, refers to
the component instance. For example, the following code, attached to the ScrollPane
component instance
mySPComponent, sends “_level0.mySPComponent” to the Output panel:
on (progress) {
trace(this);
}
Example
This example creates a ScrollPane instance called my_sp and defines a listener object called
spListener with a progress event handler. The event handler calls the getBytesLoaded()
getBytesTotal() functions to display the progress of the load in the Output panel.
You first drag the ScrollPane component from the Components panel to the current
document’s library and then add the following code to Frame 1:
/**
Requires:
- ScrollPane component in library
*/
this.createClassObject(mx.containers.ScrollPane, "my_sp", 10);
my_sp.setSize(360, 280);
var spListener:Object = new Object();
spListener.progress = function(evt_obj:Object):Void {
trace("Loading " + my_sp.contentPath);
trace(my_sp.getBytesLoaded() + " of " + my_sp.getBytesTotal() + " bytes
loaded");
};
my_sp.addEventListener("progress", spListener);
System.security.allowDomain("http://www.helpexamples.com");
my_sp.contentPath = "http://www.helpexamples.com/flash/images/image1.jpg";