Label nodes

SceneGraph nodes for rendering text on screen: Label, MultiStyleLabel, MonospaceLabel, and InfoPane

Label nodes let you render text on screen in your SceneGraph apps. This page covers the label nodes packaged here and the abstract base class they share. For other text needs (scrolling, long passages, custom fonts, lighter-weight options), see Looking for something else? below.

Hello, text

A simple Label example:

<?xml version="1.0" encoding="utf-8" ?>
<component name="HelloLabel" extends="Group">
  <Label
    text="Application Development Made Easy!"
    font="font:MediumBoldSystemFont"
    horizAlign="left"
    vertAlign="center"
    translation="[318,8]" />
</component>
Label rendering of the sample above

Choosing a node

NodeBest for
LabelA line or short block of text in a single style. The starting point for most text rendering.
MultiStyleLabelMixing styles inside one string: bold/italic runs, multiple colors, multiple fonts.
MonospaceLabelA single line of text with all characters spaced at a fixed distance.
InfoPaneA pre-styled help-text panel with a white rounded border, used to explain a setting.

MultiStyleLabel and InfoPane in action:

MultiStyleLabel mixing emoji and styled text InfoPane help-text panel

Looking for something else?

  • For custom fonts, configure font URI, size, and style through a Font node. See Typographic nodes.
  • For long passages of scrollable text like license agreements, use ScrollableText.
  • For lines that auto-scroll when they overflow, use ScrollingLabel. It ellipsizes then scrolls horizontally on a loop.
  • For a lighter, more memory-efficient label, use SimpleLabel in Renderable nodes, a stripped-down single-line label with a simplified font model.
  • For alignment, wrapping, truncation, or rotation controls, see LabelBase, the abstract base class shared by Label and MultiStyleLabel.

Inheritance

Label and MultiStyleLabel both extend LabelBase, so most of their field reference (alignment, wrapping, ellipsis behavior, rotation) is documented on the LabelBase page rather than repeated on each. MonospaceLabel and InfoPane do not extend LabelBase and define their own fields directly.