FileDocCategorySizeDatePackage
Ticker.javaAPI DocphoneME MR2 API (J2ME)5383Wed May 02 18:00:24 BST 2007javax.microedition.lcdui

Ticker

public class Ticker extends Object
Implements a "ticker-tape", a piece of text that runs continuously across the display. The direction and speed of scrolling are determined by the implementation. While animating, the ticker string scrolls continuously. That is, when the string finishes scrolling off the display, the ticker starts over at the beginning of the string.

There is no API provided for starting and stopping the ticker. The application model is that the ticker is always scrolling continuously. However, the implementation is allowed to pause the scrolling for power consumption purposes, for example, if the user doesn't interact with the device for a certain period of time. The implementation should resume scrolling the ticker when the user interacts with the device again.

The text of the ticker may contain line breaks. The complete text MUST be displayed in the ticker; line break characters should not be displayed but may be used as separators.

The same ticker may be shared by several Displayable objects ("screens"). This can be accomplished by calling {@link Displayable#setTicker setTicker()} on each of them. Typical usage is for an application to place the same ticker on all of its screens. When the application switches between two screens that have the same ticker, a desirable effect is for the ticker to be displayed at the same location on the display and to continue scrolling its contents at the same position. This gives the illusion of the ticker being attached to the display instead of to each screen.

An alternative usage model is for the application to use different tickers on different sets of screens or even a different one on each screen. The ticker is an attribute of the Displayable class so that applications may implement this model without having to update the ticker to be displayed as the user switches among screens.

since
MIDP 1.0

Fields Summary
private String
message
The message set in this Ticker
String
displayedMessage
The message being displayed in this Ticker. #getString() will only return what is stored in "message" and not in "displayedMessage", which is only used for display purposes.
TickerLF
tickerLF
Look and Feel corresponding to this Ticker
Constructors Summary
public Ticker(String str)
Constructs a new Ticker object, given its initial contents string.

param
str string to be set for the Ticker
throws
NullPointerException if str is null


	if (str == null) {
	    throw new NullPointerException();
	}

        synchronized (Display.LCDUILock) {
	    message = str;
	    displayedMessage = str.trim().replace('\n", ' ");
	    tickerLF = LFFactory.getFactory().getTickerLF(this);
        }
    
Methods Summary
public java.lang.StringgetString()
Gets the string currently being scrolled by the ticker.

return
string of the ticker
see
#setString

        // SYNC NOTE: return of atomic value, no locking necessary
        return message;
    
public voidsetString(java.lang.String str)
Sets the string to be displayed by this ticker. If this ticker is active and is on the display, it immediately begins showing the new string.

param
str string to be set for the Ticker
throws
NullPointerException if str is null
see
#getString


	    if (str == null) {
	        throw new NullPointerException();
	    }

        if (str.equals(message)) {
             return;
        }

        synchronized (Display.LCDUILock) {
	    // Save the original unmodified message so that getString() 
	    // returns that.
	    message = str;

	    // According to the spec, linebreak characters should 
	    // not be displayed in the ticker and could be used as 
	    // separators. We will use a single white space as the
	    // separator.

	    displayedMessage = str.trim().replace('\n", ' ");
	    tickerLF.lSetString(displayedMessage);
        }