Skip to content

Guides

Each guide covers one part of Strata in depth: the rules, the defaults, the edge cases and working code. Every Java example on these pages is compiled and tested against Strata by this site's build, so it matches the current API.

Guide Read it to learn
Components What every component has: the tree, parents and ancestors, drawing order and z index, state flags, focus, cursors, tooltips, bounds
Layout How sizes and positions are decided, margins and padding, every container, the spacer, and scrolling
Controls What each control does, key by key: labels and images, buttons, checkboxes, sliders, text fields, lists, tables, trees, drop-downs, menus, pickers, windows, message boxes, tabs, progress bars and separators
Appearances How values of one type show their icon, name and tooltip in every list, table and combo box
Overlays and tooltips Popups, modal dialogs, toasts, how overlays are layered, tooltips and held modifiers
Events Handlers, priorities, Pre and Post events, cancellation, bubbling, clicks and drags
Data binding Keeping controls in step with states in a model, one way or two
Event snapshots Comparing a component's state when an event fired with its state now
Input and focus Keys, modifiers, focus rules, tab order, text input, what a key meets, devices
Commands and shortcuts Commands shared by buttons, menu items and switches, shortcuts and their scopes, mnemonics, default and cancel buttons
Screens Opening screens with Strata.screens(), the lifecycle, handles, closing and titles, rebuilding, screens above screens, stacks and theme reloads
Threads The UI thread, handing work over from other threads, and what is checked
Themes Style keys, paints, sprites, nine-slices, themes by id and theme files
Text Text styles, spans, measurement and wrapping
Internationalization Right to left screens, mixed direction text, plurals, numbers in the user's language and grapheme clusters
Animation Moving properties over time, easings, fading, the built-in motion and testing it
Drag and drop Transfers between lists, fields and other applications, drop targets, effects and edge scrolling
Clipboard Copying and pasting text, files, images and objects of your own
File dialogs Open, save and folder dialogs the platform provides
Testing Driving screens without an engine: finding components, input, the clock and checking the result
Extending Strata Changing built-ins through their events, composition, composites of private parts, custom components with their own events, every hook and when it runs, and custom layouts