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

StringItem

public class StringItem extends Item
An item that can contain a string. A StringItem is display-only; the user cannot edit the contents. Both the label and the textual content of a StringItem may be modified by the application. The visual representation of the label may differ from that of the textual contents.

Fields Summary
StringItemLF
stringItemLF
The look&feel associated with this StringItem. Set in the constructor. getLF() should return this instance.
String
str
The text of this StringItem
Font
font
The Font to render this StringItem's text in
int
appearanceMode
The appearance hint
Constructors Summary
public StringItem(String label, String text)
Creates a new StringItem object. Calling this constructor is equivalent to calling

StringItem(label, text, PLAIN); 

param
label the Item label
param
text the text contents
see
#StringItem(String, String, int)

        this(label, text, Item.PLAIN);
    
public StringItem(String label, String text, int appearanceMode)
Creates a new StringItem object with the given label, textual content, and appearance mode. Either label or text may be present or null.

The appearanceMode parameter (see Appearance Modes) is a hint to the platform of the application's intended use for this StringItem. To provide hyperlink- or button-like behavior, the application should associate a default Command with this StringItem and add an ItemCommandListener to this StringItem.

Here is an example showing the use of a StringItem as a button:


StringItem strItem =
new StringItem("Default: ", "Set",
Item.BUTTON);
strItem.setDefaultCommand(
new Command("Set", Command.ITEM, 1);
// icl is ItemCommandListener
strItem.setItemCommandListener(icl); 

param
label the StringItem's label, or null if no label
param
text the StringItem's text contents, or null if the contents are initially empty
param
appearanceMode the appearance mode of the StringItem, one of {@link #PLAIN}, {@link #HYPERLINK}, or {@link #BUTTON}
throws
IllegalArgumentException if appearanceMode invalid

        super(label);

        synchronized (Display.LCDUILock) {
            switch (appearanceMode) {
                case Item.PLAIN:
                case Item.HYPERLINK:
                case Item.BUTTON:
                    this.appearanceMode = appearanceMode;
                    break;
                default:
                    throw new IllegalArgumentException();
            }

            this.str = text;

            itemLF = stringItemLF = LFFactory.getFactory().getStringItemLF(this);

            this.font = stringItemLF.getDefaultFont();

        } 
    
Methods Summary
public intgetAppearanceMode()
Returns the appearance mode of the StringItem. See Appearance Modes.

return
the appearance mode value, one of {@link #PLAIN}, {@link #HYPERLINK}, or {@link #BUTTON}

        // SYNC NOTE: return of atomic value, no locking necessary
        return appearanceMode;
    
public FontgetFont()
Gets the application's preferred font for rendering this StringItem. The value returned is the font that had been set by the application, even if that value had been disregarded by the implementation. If no font had been set by the application, or if the application explicitly set the font to null, the value is the default font chosen by the implementation.

return
the preferred font to use to render this StringItem
see
#setFont

        // SYNC NOTE: return of atomic value, no locking necessary
        return font;
    
public java.lang.StringgetText()
Gets the text contents of the StringItem, or null if the StringItem is empty.

return
a string with the content of the item
see
#setText

        // SYNC NOTE: return of atomic value, no locking necessary
        return str;
    
public voidsetFont(Font font)
Sets the application's preferred font for rendering this StringItem. The font is a hint, and the implementation may disregard the application's preferred font.

The font parameter must be a valid Font object or null. If the font parameter is null, the implementation must use its default font to render the StringItem.

param
font the preferred font to use to render this StringItem
see
#getFont

        synchronized (Display.LCDUILock) {
            if (this.font != font) {
                if (font == null) {
                    this.font = stringItemLF.getDefaultFont();
                } else {
                    this.font = font;
                }
                stringItemLF.lSetFont(this.font);
            }
        }
    
public voidsetPreferredSize(int width, int height)
Sets the preferred width and height for this Item. Values for width and height less than -1 are illegal. If the width is between zero and the minimum width, inclusive, the minimum width is used instead. If the height is between zero and the minimum height, inclusive, the minimum height is used instead.

Supplying a width or height value greater than the minimum width or height locks that dimension to the supplied value. The implementation may silently enforce a maximum dimension for an Item based on factors such as the screen size. Supplying a value of -1 for the width or height unlocks that dimension. See Item Sizes for a complete discussion.

It is illegal to call this method if this Item is contained within an Alert.

param
width the value to which the width should be locked, or -1 to unlock
param
height the value to which the height should be locked, or -1 to unlock
throws
IllegalArgumentException if width or height is less than -1
throws
IllegalStateException if this Item is contained within an Alert
see
#getPreferredHeight
see
#getPreferredWidth

        super.setPreferredSize(width, height);
    
public voidsetText(java.lang.String text)
Sets the text contents of the StringItem. If text is null, the StringItem is set to be empty.

param
text the new content
see
#getText

        synchronized (Display.LCDUILock) {
            this.str = text;
            stringItemLF.lSetText(text);
        }